안녕하세요
글 작성자의 별표처리 부분으로 애를 먹고 있습니다.
워드프레스 관리자모드에서는 functions.php 파일 업데이트가 반영이 안된다고 계속 나와 직접 ftp에 올리는 방식으로 수정 테스트를 진행하였습니다.
http://www.cosmosfarm.com/threads/document/14441
https://www.cosmosfarm.com/threads/document/32120
https://www.cosmosfarm.com/threads/document/26219
https://www.cosmosfarm.com/threads/document/17516
위 관련 내용을 모두 적용해보아도 게시판이 요지부동입니다....
처음엔
my_kboard_hide_username 을
<td class="kboard-list-user"><?php echo $content->member_display?>
<td class="kboard-list-user"><?php echo my_kboard_hide_username($content->member_display)?>
위와 같이 적용하여
스킨의 document.php, list.php 파일에 적용하고
테마의 functions.php 파일에 아래 코드를 추가했는데 변함이 없었습니다.
function my_kboard_hide_username($username){
$strlen = mb_strlen($username, 'utf-8');
if($strlen > 3){
$showlen = 2;
}
else{
$showlen = 1;
}
$username = mb_substr($username, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
return $username;
}
이후 KBOARD 최신 버전에 대한 부분을 확인하여
단독으로 스킨 파일을 직접 수정하지 않고 테마 쪽 functions.php 파일에 아래 코드를 추가했는데도 변경이 안되었습니다.
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($board->id == '1'){ // 실제 게시판 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('O', $header_showlen) . mb_substr($user_name, $footer_showlen, $strlen, 'utf-8');
}
}
return $user_display;
}
첫번째와 두번째 유형으로 게시판에 올라온 다양한 코드로 각각 수정 테스트를 진행해보았는데 변경이 안됩니다.
혹시 테마의 functions.php 파일이 작동하지 않는 경우도 있을가요?
게시판 버전은
설치된 게시판 플러그인: 4.5 (최신: )
설치된 댓글 플러그인: 3.7 (최신: )
모두 최신으로 뜨고 있습니다.
이게 제가 처음부터 제작한 홈페이지가 아니어서 더 헷갈리네요 ㅠㅠ
안녕하세요~^^
KBoard 게시판 플러그인의 최신 버전은 6.0 버전이며
댓글 플러그인의 최신 버전은 5.0 버전입니다.
kboard_user_display 필터를 활용하시려면
KBoard 플러그인을 최신 버전으로 업데이트 부탁드립니다.
고맙습니다.
만약 여러가지 사정으로 버전 업데이트를 할수 없는 상황이라면 첫번째 방법으로 진행해도 정상적으로 처리가 되야하는건가요?
1. my_kboard_hide_username 을 활용한 코드로 스킨의 document.php, list.php 파일에 적용하고 테마의 functions.php 파일에 function my_kboard_hide_username 로 시작하는 코드를 적용하면 지금도 정상적으로 진행되어야하는거죠?
2. functions.php 파일이 정상적으로 적용되는걸 체크하는 방법은 없을가요?
1. 네 맞습니다.
kboard_user_display 필터를 지원하지 않는 스킨을 사용 중이시라면
KBoard 스킨 파일을 수정해주셔야 하며 my_kboard_hide_username 함수는 PHP 함수이기 때문에
KBoard 버전과 상관없이 동작해야 합니다.
2. my_kboard_user_display 함수가 정상적으로 동작하는지 체크하는 방법은 여러 가지가 있습니다.
return $username; 부분을
return '[test]'.$username;로 교체해서 작성자명 앞에 [test]가 붙는지 확인해보시겠어요?
코드는 테마의 functions.php 파일에 추가하거나 Code Snippets 플러그인을 사용해서 추가할 수 있습니다.
고맙습니다.
테마의 functions.php 파일이 정상적으로 작동하지 않는것같습니다. ㅠㅠ
1. 관리자모드에서 테마편집기의 테마함수 functions.php 파일을 업데이트하면 치명적 오류가 발생한다고 하고 적용이 안됩니다.
2. 답변주신 return '[test]'.$username;로 교체해서 ftp로 바로 올렸지만 변동사항이 없습니다.
3. 마지막으로 Code Snippets 플러그인을 사용해서 처리해보았지만 활성화를 시도할때 오류가 발생한다는 다음과 같은 문구가 나오면서 활성화가 되지 않습니다.
an error occurred when attempting an activate
어떻게 문제를 해결해야 할가요 ㅠㅠ
안녕하세요.
워드프레스 관리자 페이지에서 테마 쪽 functions.php 파일을 수정할 수 없다면
모든 플러그인을 비활성화한 상태에서도 시도해보시겠어요?
모든 플러그인 비활성화한 상태에서도 같은 문제가 발생한다면
서버 관리자 또는 웹호스팅 업체에도 문의해보시는 게 좋을 듯합니다.
FTP 접속이 가능하다면
FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일을 수정해보시겠어요?
플러그인 활성화 시 해당 문구가 표시되는 건
올려주신 내용만으로는 원인을 파악하기 어렵습니다.
워드프레스에서 에러 혹은 알 수 없는 문제가 있을 때 대응 방법을 참고하셔서
다른 에러 메시지나 충돌이 있는지 점검해보셔야 할 듯합니다.
고맙습니다.