비밀글을 확인할때 무적 비밀번호를 만들수 없을까요?

비밀글 설정하면, 글작성자와 관리자는 볼수 있는데

회원가입이나 로그인없이 특정 비밀번호를 써서 그 글을 볼 수 있게 할 수 없을까요?

즉 글쓴이가 정한 비밀번호 말고, 다른 비밀번호를 등록하면 그 글을 볼수 있도록 하고싶습니다.

 

어떻게 보면 비밀번호를 두개로 할수 있을까요? 하나는 작성자가 한거고, 하나는 고정으로..

관리자가 설정할수있어서 이 글을 다른사람에게 보여주고싶을때 비밀번호를 알려줘서 확인하게 하고싶습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 우와~감사합니다!! 너무 좋네요~!

  • 안녕하세요.

    파일을 수정하면 가능하겠습니다.

    FTP로 접속해서 파일을 수정해주세요.

    먼저 /wp-content/plugins/kboard/class/KBoard.class.php 파일을 수정해주세요.

     

    1. 아래 코드를 찾아주세요.

    public function isConfirm($password, $content_uid, $reauth=false){
    	if(!$password || !$content_uid) return false;
    	
    	$submitted_password = isset($_POST['password'])?sanitize_text_field($_POST['password']):'';
    	
    	if($reauth){
    		if($submitted_password == $password){
    			$_SESSION['kboard_confirm'][$content_uid] = $password;
    			return true;
    		}
    	}
    	else if(isset($_SESSION['kboard_confirm']) && isset($_SESSION['kboard_confirm'][$content_uid]) && $_SESSION['kboard_confirm'][$content_uid] == $password){
    		return true;
    	}
    	else if($submitted_password == $password){
    		$_SESSION['kboard_confirm'][$content_uid] = $password;
    		return true;
    	}
    	return false;
    }

     

    2. 찾은 코드를 아래 코드로 교체해주세요.

    public function isConfirm($content_password, $content_uid, $reauth=false){
    	$confirm = false;
    	
    	if($content_password && $content_uid){
    		$input_password = isset($_POST['password'])?sanitize_text_field($_POST['password']):'';
    		
    		if($reauth){
    			if($input_password == $content_password){
    				$_SESSION['kboard_confirm'][$content_uid] = $content_password;
    				$confirm = true;
    			}
    		}
    		else if(isset($_SESSION['kboard_confirm']) && isset($_SESSION['kboard_confirm'][$content_uid]) && $_SESSION['kboard_confirm'][$content_uid] == $content_password){
    			$confirm = true;
    		}
    		else if($input_password == $content_password){
    			$_SESSION['kboard_confirm'][$content_uid] = $content_password;
    			$confirm = true;
    		}
    	}
    	
    	return apply_filters('kboard_password_confirm', $confirm, $input_password, $content_password, $content_uid, $reauth, $this);
    }

     

    3. 테마의 functions.php 파일에 아래 코드를 추가해주세요.

    add_filter('kboard_password_confirm', 'my_kboard_password_confirm', 10, 6);
    function my_kboard_password_confirm($confirm, $input_password, $content_password, $content_uid, $reauth, $board){
    	
    	if($input_password == 'superpass'){
    		$confirm = true;
    	}
    	
    	return $confirm;
    }

     

    마지막으로 위 코드에서 superpass 부분을 원하시는 비밀번호로 바꿔주세요.

    그럼 모든 게시글에서 해당 비밀번호로 게시글 읽기가 가능할 겁니다.

    KBoard.class.php 파일에서 수정된 내용은 다음 업데이트에 정식으로 추가할 테니 새로운 버전이 나오면 업데이트해주세요.

    고맙습니다.

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