소셜로그인 후 글 작성시 이메일 노출

소셜로그인 후 KBoard(케이보드) 게시판 글 작성시 이메일 노출이 됩니다.

이메일이 presscat0123@naver.com 이런식이 아닌

press********@****.**** 이런식으로 나왔으면 합니다.

 

php 를 고쳐야할 경우, 자세한 경로도 함께 부탁드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    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로 적용해보세요.

    고맙습니다.

  • 알려주신 방법으로는 저장이 안됩니다.

    치명적인 오류가 뜬다고 하네요.

    추가적으로 게시판이 여러개일 때 어떻게 하면 될지도 부탁드립니다.

  • 안녕하세요.

    워드프레스 관리자 페이지에서 테마 쪽 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' &&

    고맙습니다.

  • 됩니다 감사합니다. :) 최고

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요