이전 수정 내용에서 작성자 마스킹 기능을 수정한 부분이 있는데요, 문제는 관리자 화면에서 관리자가 작성자 이름을 마스킹된 상태로 확인 하게 됩니다.
그리고, 글을 작성한 작성자가 자신의 글을 수정하거나 할때도 마찬가지로 마스킹 된 상태로 출력 되는데요
관리자 또는 해당 글 작성자가 글을 확인할 때는 마스킹안된 상태로 확인 할 수 있는 방법이 있을까요?
/wp-content/plugins/ask-one/editor.php
<input type="hidden" name="member_display" value="<?php echo $content->getObfuscateName('O')?>">
안녕하세요~ 주신 내용대로 적용하니 오류없이 잘 작동 하네요
답변 감사합니다~
즐거운 한 주 되세요~
안녕하세요.
비회원일 때도 적용되는 코드를 추가해야 할 듯합니다.
올려주신 코드 중 !in_array('administrator', $userdata->roles) 부분을
아래의 코드로 교체해보시겠어요?
(!$user_id || !in_array('administrator', $userdata->roles))
고맙습니다.
안녕하세요
작성자 마스킹관련 자료를 찾아서 코드를 변경하였는데 오류가 있어서 문의 드립니다.
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
답변 부탁드릴게요~수고하세요~
안녕하세요~^^
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
고맙습니다.