작성자 마스킹시 관리자/작성자에게 보이도록 수정하는 방법

이전 수정 내용에서 작성자 마스킹 기능을 수정한 부분이 있는데요, 문제는 관리자 화면에서 관리자가 작성자 이름을 마스킹된 상태로 확인 하게 됩니다.

그리고, 글을 작성한 작성자가 자신의 글을 수정하거나 할때도 마찬가지로 마스킹 된 상태로 출력 되는데요 

 

관리자 또는 해당 글 작성자가 글을 확인할 때는 마스킹안된 상태로 확인 할 수 있는 방법이 있을까요?


/wp-content/plugins/ask-one/editor.php

<input type="hidden" name="member_display" value="<?php echo $content->getObfuscateName('O')?>">

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    KBoard 작성자명을 게시글 작성 시 마스킹 처리를 하게 되면

    관리자도 작성자명을 제대로 볼 수 없게 됩니다.

    kboard_user_display 필터를 활용해서 코드를 수정해주셔야 할 듯합니다.

    저희 커뮤니티에 작성자 마스킹 키워드로 검색하셔서

    이전에 비슷한 문의들을 참고해보시겠어요?

    https://www.cosmosfarm.com/search?q=%EC%9E%91%EC%84%B1%EC%9E%90+%EB%A7%88%EC%8A%A4%ED%82%B9

    고맙습니다.

  • 안녕하세요

    작성자 마스킹관련 자료를 찾아서 코드를 변경하였는데 오류가 있어서 문의 드립니다.

    Funtions.php에 아래 내용을 추가 ( 해당 게시판 아이디는 2 입니다.)

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugins, $boardBuilder){
    	$board = $boardBuilder->board;
    	$userdata = get_userdata($user_id);
    	
    	if($board->id == '2' && !$board->isAdmin() && !in_array('administrator', $userdata->roles)){
    		$strlen = mb_strlen($user_name, 'utf-8');
    		
    		if($strlen > 3){
    			$showlen = 2;
    		}
    		else{
    			$showlen = 1;
    		}
    		
    		$user_display = mb_substr($user_name, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
    	}
    	
    	return $user_display;
    }

    plugins/ask-one/list.php

    plugins/ask-one/document.php

    plugins/ask-one/editor.php

    <?php echo $content->getObfuscateName('O') ?>  // 아래 내용으로 교체
    
    <?php echo $content->getUserDisplay()?>

    작성 후 확인해 보니 아래와 같은 에러가 출력 됩니다.

    Ask-one 스킨을 사용 중이고, 테마는 the 7 입니다.

    Notice: Trying to get property 'roles' of non-object in wp-content/themes/dt-the7/functions.php on line 39 Warning: in_array() expects parameter 2 to be array, null given in /wp-content/themes/dt-the7/functions.php on line 39 가**

    게시판 아이디 스샷 입니다.

    https://imgur.com/a/y843r3L

    오류 화면 스샷 입니다.

    https://imgur.com/a/X9rewyo

    답변 부탁드릴게요~수고하세요~

     

     

     

  • 안녕하세요.

    비회원일 때도 적용되는 코드를 추가해야 할 듯합니다.

    올려주신 코드 중 !in_array('administrator', $userdata->roles) 부분을

    아래의 코드로 교체해보시겠어요?

    (!$user_id || !in_array('administrator', $userdata->roles))

    고맙습니다.

  • 안녕하세요~ 주신 내용대로 적용하니 오류없이 잘 작동 하네요 

    답변 감사합니다~

    즐거운 한 주 되세요~

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기