소셜로그인 후 KBoard(케이보드) 게시판 글 작성시 이메일 노출이 됩니다.
이메일이 presscat0123@naver.com 이런식이 아닌
press********@****.**** 이런식으로 나왔으면 합니다.
php 를 고쳐야할 경우, 자세한 경로도 함께 부탁드립니다.
됩니다 감사합니다. :) 최고
안녕하세요.
워드프레스 관리자 페이지에서 테마 쪽 functions.php 파일 수정 시 문제가 발생한다면
모든 플러그인을 비활성화한 후에 다시 테스트해보시겠어요?
그래도 문제가 된다면 서버 관리자에게 문의를 해보셔야 할 듯합니다.
직접 테마의 functions.php 파일에 코드를 추가하시려면
FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일에 추가해보시겠어요?
게시판이 여러개라면
이전 댓글에 안내해드린 코드 중 아래의 코드를
$builder->board->id == '1'
아래의 코드로 교체해보시겠어요?
in_array($builder->board->id, array('1', '2', '3'))
모든 게시판에 적용하시려면
아래의 코드를 지워보시겠어요?
$builder->board->id == '1' &&
고맙습니다.
알려주신 방법으로는 저장이 안됩니다.
치명적인 오류가 뜬다고 하네요.
추가적으로 게시판이 여러개일 때 어떻게 하면 될지도 부탁드립니다.
안녕하세요~^^
KBoard 플러그인에서 작성자명은 워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
올려주신 것처럼 이메일 마스킹 처리를 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
function my_kboard_user_display($display, $user_id, $username, $plugin, $builder){
if($builder->board->id == '1' && strpos($display, '@')){
$email = explode('@', $display);
$strlen = mb_strlen($email[0], 'utf-8');
$header_showlen = 5;
$user_email = mb_substr($email[0], 0, $header_showlen, 'utf-8') . str_repeat('*', $strlen - $header_showlen) . '@';
$email2 = explode('.', $email[1]);
$user_email .= str_repeat('*', mb_strlen($email2[0], 'utf-8')) . '.';
$user_email .= str_repeat('*', mb_strlen($email2[1], 'utf-8'));
$display = $user_email;
}
return $display;
}
위의 코드에서 $builder->board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
고맙습니다.