게시판에 글등록시 비밀번호 입력란을 제거하는 방법 문의

안녕하세요?

몇년전부터 크로스 캘린더를 구매하여 사용중이며, 얼마전에는 KBoard 일반게시판을 하나 더 만들었습니다.

이 두 게시판은 내부업무 전용으로 사용할 것이므로 글 입력시 비밀번호 입력과정을 생략하고자 합니다.

크로스 캘린더의 경우에는 귀사의 도움을 받아 이미 게시글 삭제기능을 없앴기 때문에 기존글들이 누군가에 의해 임의적으로 삭제될 위험은 없습니다.

그래서 이왕이면 새로운 글 등록때마다 해당글에 대한 비밀번호 입력과정이 불필요하고 직원들도 매번 비번입력을 번거로워합니다.

게시글 등록시 비밀번호 입력란을 없애는 방법을 문의드립니다.

그럼 답변 부탁드려요~~

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 비회원은 권한 문제 때문에

    Kboard 설계 구조상 비밀번호를 반드시 입력받고 있습니다.

     

    그럼에도 비밀번호를 반드시 비워두셔야 하신다면

    KBoard 플러그인의 kboard_insert_data 필터를 활용하실 수 있습니다.

     

    안내해드린 코드와 함께

    아래 코드를 테마 functions.php에 입력해보시겠어요?

    add_filter('kboard_insert_data', 'empty_password_220120', 10, 2);
    function empty_password_220120($data, $board_id){
        $data['password'] = '';
        return $data;
    }

    고맙습니다.

  • 신속한 답변 감사합니다~

    저에게 답변주신 내용과 커뮤니티 자동 추천글에 뜨는 비밀번호 관련 문의글을 보면

    비밀번호 입력란을 hidden 필드로 숨기라고 하셨는데

    다른 분의 문의내용을 보면 hidden필드로 숨기면 글 작성시 비밀번호 입력란은 안보이게 되지만

    글이 등록되려면 결국 비밀번호 입력을 요구하거나 램덤문자가 자동할당되는 식으로 되는 것 같습니다.

    비밀번호 입력란을 안보이게 하는 것을 물론이고 비회원일지라도 비번 입력과정없이 글 등록가능한 방법은 없는건가요?

    알려주신대로 소스 작업해보려다가 괜한 일이 될 것 같아서 한번 더 질문드립니다.

    감사합니다~~

  • 안녕하세요~^^

    KBoard(케이보드) 게시판에서는 비회원은 비밀번호가 반드시 입력되어야 합니다.

    그래야만 글수정, 글삭제가 가능하기 때문입니다.

    만약 수정과 삭제가 필요 없다면 비밀번호를 hidden 필드로 숨길 수 있습니다.

     

    입력 필드 설정을 지원하는 스킨을 사용 중이시라면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_filter('kboard_get_template_field_html', 'kboard_ask_one_get_template_field_html', 10, 4);
    function kboard_ask_one_get_template_field_html($html, $field, $content, $board){
    	if($field['meta_key'] == 'author' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$fields = $board->fields();
    		$field_name = (isset($field['field_name']) && $field['field_name']) ? $field['field_name'] : $field['field_label'];;
    		$placeholder = (isset($field['placeholder']) && $field['placeholder']) ? $field['placeholder'] : '';
    		$default_value = (isset($field['default_value']) && $field['default_value']) ? $field['default_value'] : '';
    		
    		$boardBuilder = new KBoardBuilder($board->id);
    		ob_start();
    		?>
    		<?php if($field['permission'] == 'always_visible' || (!$field['permission'] && $board->viewUsernameField())):?>
    			<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> required">
    				<label class="attr-name" for="kboard-input-member-display"><span class="field-name"><?php echo esc_html($field_name)?></span> <span class="attr-required-text">*</span></label>
    				<div class="attr-value"><input type="text" id="kboard-input-member-display" name="member_display" class="required" value="<?php echo $content->member_display?esc_attr($content->member_display):esc_attr($default_value)?>"<?php if($placeholder):?> placeholder="<?php echo esc_attr($placeholder)?>"<?php endif?>></div>
    			</div>
    		<?php elseif($field['permission'] == 'always_hide'):?>
    			<input type="hidden" id="kboard-input-member-display" name="member_display" value="<?php echo $content->member_display?esc_attr($content->member_display):esc_attr($default_value)?>">
    		<?php endif?>
    		<?php if($board->viewUsernameField()):?>
    			<input type="hidden" id="kboard-input-password" name="password" value="<?php echo esc_attr($content->password ? $content->password : uniqid())?>">
    		<?php endif?>
    		<?php
    		$html = ob_get_clean();
    	}
    		
    	return $html;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

     

    입력 필드 설정을 지원하지 않는 스킨을 사용 중이시라면

    아래의 링크를 참고해보시겠어요?

    https://www.cosmosfarm.com/threads/document/17806

    고맙습니다.

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