코스모스팜 스레드

KBoard 위젯에서 '내가 쓴글 보기' 관련 문의

 

안녕하세요,

최근 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;
    }

    고맙습니다.

  • 빠른 답변 감사합니다~

    말씀해주신대로 하니 잘 동작하네요 ^^ 감사합니다!!!

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)