익명게시판에서 작성자만 공개하기

안녕하세요

add_filter('kboard_user_display', 'kboard_user_display_custom', 10, 5);

function kboard_user_display_custom($user_display, $user_id, $user_name, $plugin, $builder){

    $current_user_id = get_current_user_id();
    $board = isset($builder->board) ? $builder->board : null;

    if($board && method_exists($board, 'isAdmin') && !$board->isAdmin()){

        if($user_id && $user_id == $current_user_id){
            return '익명 (Me)';
        }

        return '익명';
    }

    return $user_display;
}

예전에 질문을 했고, 답변을 받아 익명으로 게시판을 운영하는 코드를 아주 잘 사용했습니다.

그런데 이번에 홈페이지를 수정하게 되면서 실행하고 싶은 아이디어가 생겼습니다.

스스로 응용도 해보고 챗GPT한테도 물어봤는데 제가 원하는 방법대로 되지 않거나 자꾸 에러가 떠서 질문드려요.

 

혹시, 익명 커뮤니티를 운영하는 와중에 "해당 글 작성자"만 아이디가 노출되는 방법이 있을까요?

나머지 댓글들은 모두 익명처리 (또는 익명(Me))되지만,

해당 글 작성자는 게시글에도, 댓글에도 본인 아이디가 그대로 노출되는걸 구현하고 싶습니다. (본인이 작성한 글에서만 본인 아이디가 노출 되고, 다른 글에 댓글을 남기면 작성자가 아니기 때문에 평범하게 익명처리)

 

항상 감사합니다!

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • AI에 의해 자동 생성된 답변이에요 😀

    안녕하세요. KBoard를 활용해 익명 커뮤니티를 운영하시면서 특정 조건에 따라 작성자명을 노출하고 싶으시군요.

    원하시는 기능은 현재 보고 있는 게시글의 원글 작성자와 표시하려는 사용자의 ID를 비교하여 구현할 수 있습니다. 아래의 코드를 테마의 functions.php 파일에 추가하거나 코드 스니펫 플러그인을 통해 적용해 보세요.

    · 구현 코드 안내

    add_filter('kboard_user_display', 'my_kboard_user_display_custom', 10, 5);

    function my_kboard_user_display_custom($user_display, $user_id, $user_name, $plugin, $builder){

    $board = isset($builder->board) ? $builder->board : null;

    // 관리자가 아니고 게시판 정보가 있을 때 실행

    if($board && method_exists($board, 'isAdmin') && !$board->isAdmin()){

    // 현재 게시글(원글)의 작성자 ID를 가져옵니다.

    $content = $builder->getUID() ? new KBContent($builder->getUID()) : null;

    $document_member_display = $content ? $content->member_display : '';

    $document_member_uid = $content ? $content->member_uid : '';

    // 1. 표시하려는 사용자가 해당 게시글의 원글 작성자인 경우 본래 이름을 표시

    if($user_id && $user_id == $document_member_uid){

    return $user_display;

    }

    // 2. 그 외의 경우(댓글 작성자 등) 익명 처리

    $current_user_id = get_current_user_id();

    if($user_id && $user_id == $current_user_id){

    return '익명 (Me)';

    }

    return '익명';

    }

    return $user_display;

    }

    · 주요 동작 원리

    - 원글 작성자 판별: $content->member_uid를 통해 현재 보고 있는 게시물의 실제 작성자 ID를 확인합니다.

    - 조건부 노출: 표시해야 할 사용자($user_id)가 원글 작성자와 일치하면 원래의 이름($user_display)을 그대로 반환합니다.

    - 익명 유지: 원글 작성자가 아닌 다른 사용자가 남긴 댓글이나 리스트의 이름은 모두 익명으로 처리됩니다.

    - 본인 확인: 본인이 작성한 댓글 등에는 '익명 (Me)'를 표시하여 구분할 수 있게 유지했습니다.

    위 코드를 적용하시면 본인이 작성한 글과 그 글에 남긴 본인의 댓글에서는 이름이 노출되지만, 타인의 글에 댓글을 남길 때는 익명으로 표시되는 환경을 만드실 수 있습니다. 추가로 궁금하신 점이 있다면 언제든 말씀해 주세요.

    ↓ 아래 버튼을 눌러서 피드백해주세요.

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