안녕하세요
Kboard 디폴트 스킨 기준으로
functions를 아래의 코드를 추가하여 수정하였습니다.
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;
if(in_array($board->id, array('1', '2', '3'))){ // 실제 게시판 id로 적용해주세요.
$userdata = get_userdata($user_id);
if(!in_array('administrator', $userdata->roles)){
$strlen = mb_strlen($user_name, '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_name, 0, $header_showlen, 'utf-8') . str_repeat('*', $header_showlen) . mb_substr($user_name, $footer_showlen, $strlen, 'utf-8');
}
}
return $user_display;
}
이름이 3글자 인경우 정상적으로 처리가 되는데요, 이름이 길어지면
2번째글짜랑 세번째 글자만 *표시가 됩니다. (ex : 가나**마바사)
가*****사 이런식으로 설정하게 되는 방법좀 알려주세요~!
그럼 오늘도 좋은 일 가득하시고 늘 건강하세요
안녕하세요~^^
말씀하신 것처럼 적용하시려면
올려주신 코드 대신
아래의 코드로 교체해보세요.
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;
if(in_array($board->id, array('1', '2', '3'))){ // 실제 게시판 id로 적용해주세요.
$userdata = get_userdata($user_id);
if(isset($userdata->roles) && !in_array('administrator', $userdata->roles)){
$strlen = mb_strlen($user_name, 'utf-8');
$header_showlen = 1;
$footer_showlen = $strlen-1;
$user_display = mb_substr($user_name, 0, $header_showlen, 'utf-8') . str_repeat('*', $footer_showlen-1) . mb_substr($user_name, $footer_showlen, $strlen, 'utf-8');
}
}
return $user_display;
}
고맙습니다.