안녕하세요.
현재 thumbnail 게시판을 이용하고 있습니다.
모든이에게 작성자가 **표시 되어 보이게 변경했지만
관리자는 ** 표시가 아닌 전체 이름이 나오게 변경하고 싶습니다.
add_filter('kboard_user_display', 'my_kboard_user_display02', 10, 5);
function my_kboard_user_display02($user_display, $user_id, $user_name, $plugin, $builder)
{
$board = $builder->board;
if ($user_id && $board->id == '5') { // 실제 게시판 id로 적용해주세요.
$user = get_userdata($user_id);
$user_display = $user->last_name . $user->first_name;
$strlen = mb_strlen($user_display, 'utf-8');
if ($strlen > 3) {
$header_showlen = 2;
$footer_showlen = $header_showlen + 2;
} else {
$header_showlen = 1;
$footer_showlen = $header_showlen + 1;
}
$user_display = mb_substr($user_display, 0, $header_showlen, 'utf-8') . str_repeat('*', $header_showlen) . str_repeat('*', $header_showlen);
}
return $user_display;
}
현재 function.php 파일에 있는 코드이며,
아래에 있는 코드는 list.php 파일에 있는 코드 입니다.
<?php echo $content->getUserDisplay() ?>
관리자가 게시판을 보게되면 **표시 없이 전체 이름이 나왔으면 좋겠습니다.
방법이 있을까요?
항상 답변 감사합니다!
기존의 코드 대신 아래의 코드로 교체해보시겠어요?
add_filter('kboard_user_display', 'my_kboard_user_display02', 10, 5);
function my_kboard_user_display02($user_display, $user_id, $user_name, $plugin, $builder)
{
$board = $builder->board;
if ($user_id && $board->id == '5') { // 실제 게시판 id로 적용해주세요.
$user = get_userdata($user_id);
$user_display = $user->last_name . $user->first_name;
if(!$board->isAdmin()){
$strlen = mb_strlen($user_display, 'utf-8');
if ($strlen > 3) {
$header_showlen = 2;
$footer_showlen = $header_showlen + 2;
} else {
$header_showlen = 1;
$footer_showlen = $header_showlen + 1;
}
$user_display = mb_substr($user_display, 0, $header_showlen, 'utf-8') . str_repeat('*', $header_showlen) . str_repeat('*', $header_showlen);
}
}
return $user_display;
}
고맙습니다.
감사합니다.
관리자가 로그인해서 게시판을 보게되면 **표시 없이 뜨는건 해결했으나,
등록된 게시글 작성자가 이름(first name)이 아닌 사용자명으로 나오게 됩니다.
이부분은 어떻게 해결해야 하나요?
안녕하세요~^^
KBoard 게시판에서 관리자는 작성자 마스킹 처리를 적용하지 않으시려면
올려주신 코드 중 $user_id 부분을
$user_id && !$board->isAdmin()로 교체해서 확인해보시겠어요?
$board->isAdmin() 코드로 관리자인지 체크하실 수 있습니다.
고맙습니다.