아이디 개인페이지 연동 (Ultimate Member 사용)

https://www.cosmosfarm.com/threads/document/16427

파란손바닥님이 이렇게 하셨다고 하셨는데

<a href="http://홈페이지.com/user/<?php echo $content->member_uid?>">
<?php echo get_avatar($content->member_uid, 20, '', $content->member_display, array('class'=>'kboard-avatar'))?>
<?php echo $content->member_display?>
</a>

지금 이코드를 어디에 넣어야 할까요?

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    최신 버전의 KBoard 플러그인을 사용 중이시라면

    직접 스킨 파일을 수정하지 않고 테마 쪽 functions.php 파일에 코드를 추가해주시면 됩니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($display, $user_id, $username, $plugin, $builder){
    	if($user_id){
    		$display = sprintf('<a href="%s" title="프로필">%s</a>', 'http://홈페이지.com/user/'.$user_id, $display);
    	}
    	
    	return $display;
    }

    고맙습니다.

  • firstname lastname 필드를 추가했더니. 이제는 firstname lastname 이 표시가 됩니다.

  • 아. 다시 또 문제가 발생했네요.. 페이지 연동이랑 다 잘되는데 글을 작성하고 나면 작성자가 ANOYMOUS로 표시가 됩니다.

    ANOYMOUS 를 클릭하면 글쓴이를 인식해서 글쓴이 프로필로 연결이 되고요.

    익명게시판이 된것같아요.

    위에 삽입한 코드때문에 발생한건지 해결방법 조언 부탁드립니다. 꾸벅.

  • 와 드디어 해결이 되었어요.. 정말 감사합니다.

  • 안녕하세요.

    kboard_user_display 필터에서 $user_id는 작성자의 id가 아닌 작성자의 고유한 값(숫자)입니다.

    Ultimate Member 플러그인에서 프로필 고유주소가 아이디로 되어 있다면

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($display, $user_id, $username, $plugin, $builder){
    	if($user_id){
    		$user_info = get_userdata($user_id);
    		$display = sprintf('<a href="%s" title="Profile">%s</a>', 'http://makekoreanfriend.com/profile/'.$user_info->user_login, $display);
    	}
    	
    	return $display;
    }

    고맙습니다.

  • add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($display, $user_id, $username, $plugin, $builder){
        if($user_id){
            $display = sprintf('<a href="%s" title="Profile">%s</a>', 'http://makekoreanfriend.com/profile/'.$user_id, $display);
        }
        
        return $display;
    }

    알려주신대로 이렇게 했더니, 화면깨짐 없이 오류 없이 작동합니다.

    그런데 연결되는 페이지가.  클릭한 아이디의 프로필 페이지로 연결되는게 아니고  로그인한 아이디의 프로필페이지로 연결이 됩니다.

     그리고 userid 가 아이디가 아닌 숫자 ex)아이디:nada  -> 5598 로 표시가 되고 있습니다. 숫자말고 아이디가 나와야할텐데요.

    http://makekoreanfriend.com/profile/user/

    라고 입력했을때 http://makekoreanfriend.com/profile/user/5598 이런식으로 나와서 화면에 404?에러가 떠버립니다.

    완성까지 많이 접근한것 같은데 조금만 더 도와주세요~~

    ex) 아이디가 april인 경우 http://makekoreanfriend.com/profile/april/ 이게 현재.. 유저프로필 url입니다.

  • 테마 편집기에서 수정 시 오류가 난다면

    모든 플러그인을 비활성화한 후에 다시 테스트해보시겠어요?

    그래도 문제가 된다면 서버 관리자에게도 문의를 해보셔야 할 듯합니다.

     

    FTP로 접속해서 파일을 수정하시면 레이아웃이 깨지시는지요?

    어떻게 깨지는지 저희도 직접 봐야 도움을 드릴 수 있을 듯합니다.

     

    한글이 깨지는 문제라면 수정한 파일을 utf-8 인코딩으로 변경해서 저장해주셔야 합니다.

    아래의 링크도 참고해보시겠어요?

    워드프레스 홈페이지 수정후 한글 깨지는 문제 해결 방법

    고맙습니다.

  • http://홈페이지.com/user 부분에는 Ultimate Member 플러그인의 프로필 주소로 적용해주시면 됩니다.

    title="프로필" 부분은 아이디에 마우스를 올렸을 때

    마우스 커서 쪽 말풍선의 문구에 프로필로 표시됩니다.

    원하는 문구로 변경해주시면 됩니다.

     

    아래처럼 적용하시면 작성자명에 마우스를 올렸을 때 마우스 커서 쪽 말풍선에 작성자명이 표시됩니다.

    $display = sprintf('<a href="%s" title="%s">%s</a>', 'http://홈페이지.com/user/'.$user_id, $username, $display);

    고맙습니다.

  • 지난번에 알려주신 코드

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
        
        if($user_id){
            $user_display = '<a href="' . site_url("/user/{$user_id}") . '">' . $user_name . '</a>';
        }
        
        return $user_display;
    }
    

    이게 안돼서 그랬는데 지금 알려주신 것으로 다시 해볼게요.

    중간에 홈페이지를 본인 사이트명으로 바꿔주고.

    프로필은 뭘로 바꿔줘야 하는 건가요?

    그리고 테마 편집기에서는 바꾸면 오류가 나고, ftp로 파일 올리고 다시 원본으로 올려도 한번 깨진 레이아웃은 돌아오지가 않네요. 꼭 백업을 다시 해야 원래 대로 돌아오더라고요.

  • 안녕하세요.

    해당 코드를 지우면 정상적으로 표시되시는지요?

    테마 쪽 functions.php 파일에 추가하신 코드 중에서

    게시글 작성자 관련된 다른 코드가 있는지도 확인해보셔야 할 듯합니다.

    실제 확인 가능한 페이지 주소도 알려주시겠어요?

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요