안녕하세요,
최근 KBoard를 사용하게 되었습니다. 좋은 게시판 공유해주셔서 감사드립니다.
특히 KBoard 위젯의 '최근 내가 쓴 글'에 대한 정보를 사이트의 '내 프로필' 페이지에서 아주 유용하게 사용하고 있습니다.
그런데 사이트 내 회원 (members) 목록에서 다른 회원 프로필도 같은 폼을 사용하다 보니,
로그인 유저가 어느 특정 회원 프로필 페이지를 볼 때 그 회원의 글이 아닌 로그인한 자신의 최근 글이 보입니다.
대부분 사람들은 특정 회원 프로필에서는 그 회원이 쓴 글이 보이기를 기대할 것 같은데요,
혹시 해결 방법이 없을까요? ^^;;
요약하면,
로그인한 유저(A)가 "내 프로필 페이지"를 볼 때
---> Kboard 위젯 "최근 내(A) 가 쓴 글" 보임 (O)
로그인한 유저(A)가 특정 회원(B)의 프로필 페이지를 볼 때
---> Kboard 위젯 "최근 내(A)가 쓴 글" 이 보이고 있음 (X)
그러나, 최근 특정 회원(B)의 글이 보여야 함
참고로, 프로필 페이지는 ultimate member 플러그인을 사용하고 있습니다.
그럼, 미리 감사드리며, 확인 부탁드립니다.
빠른 답변 감사합니다~
말씀해주신대로 하니 잘 동작하네요 ^^ 감사합니다!!!
안녕하세요~^^
KBoard 위젯 플러그인에서 kboard_widget_list_where 필터를 사용하시면
위젯 쪽에 표시되는 게시글 목록의 WHERE 절을 수정하실 수 있습니다.
얼티밋 멤버스 플러그인에서 um_profile_id 함수를 사용하면
프로필 페이지에서 해당 사용자의 id를 가져올 수 있는 듯합니다.
KBoard 위젯에서 내가 쓴 글을 얼티밋 멤버의 프로필 페이지에서
해당 사용자의 글로 표시하시려면
워드프레스 관리자 -> 외모(테마 디자인) -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
if($value == 'my_post'){
$user_id = um_profile_id();
$where = "(`status`='' OR `status` IS NULL OR `status`='pending_approval') AND (`notice`='' OR `notice` is NULL) AND `member_uid`='{$user_id}'";
}
return $where;
}
고맙습니다.