kboard ask skin 답변

k-board 질문 드립니다.
ask skin // 

1. 유저가 글을 쓰는 페이지에서는 비밀번호 / 연락처 / 이메일 (입력필드 설정에서 직접 넣음) 가 나와야하고, 관리자가 유저의 글에 답글을 달때는 페이지에서는 비밀번호 / 연락처 / 이메일 이 사라졌으면 좋겠습니다.

id 값만 있으면 css 수정이 용이할텐데 아이디 값을 같은걸 받는건지 수정이 불가합니다.

 

 

2. 입력필드 관리에서 '게시글 본문에 표시' 라는 체크 박스를 사용했습니다. 관리자가 유저의 글을 볼 때는 '게시글 본문에 표시'가 활성화가 되어야하고, 유저가 관리자의 답변을 볼 때는 '게시글 본문에서 표시' 를 비활성화 했으면 좋겠습니다. 어쩌면 좋을까요?

쉽게말해 유저의 정보를 관리자만 확인 할 수 있게하고, 관리자의 정보는 유저가 볼 수 없게 하고싶습니다.

 

감사합니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    1. 관리자가 답글을 달 때 특정 입력 필드를 안 보이게 하시려면

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_skin_fields', 'kboard_skin_fields_20210219', 10, 2);
    function kboard_skin_fields_20210219($fields, $board){
    	$builder_mod = kboard_builder_mod();
    	$parent_uid = kboard_parent_uid();
    	
    	if($board->id == '1' && $parent_uid && $builder_mod == 'editor' && $board->isAdmin(get_current_user_id())){
    		foreach($fields as $key => $field){
    			if(in_array($field['meta_key'], array('메타키1', '메타키2', '메타키3'))){
    				unset($fields[$key]);
    			}
    		}
    	}
    	
    	return $fields;
    }

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

    메타키1, 메타키2, 메타키3은 실제 입력 필드의 메타키로 적용해보세요.

     

    2. 관리자가 작성한 입력 필드를 일반 사용자에게는 표시되지 않게 하시려면

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_document_add_option_value_field_html', 'kboard_document_add_option_value_field_html_20210219', 10, 4);
    function kboard_document_add_option_value_field_html_20210219($value_html, $field, $content, $board){
    	if($board->id == '1' && !$board->isAdmin() && $board->isAdmin($content->member_uid) && in_array($field['meta_key'], array('메타키1', '메타키2', '메타키3'))){
    		$value_html = '';
    	}
    	
    	return $value_html;
    }

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

    메타키1, 메타키2, 메타키3은 실제 입력 필드의 메타키로 적용해보세요.

     

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 안녕하세요.

    관리자에게 옵션 필드를 안 보이게 하신 건지요?

    관리자에게 옵션 필드를 안 보이게 하셨다면

    아래의 코드를 활용해보세요.

    add_action('kboard_skin_field_before_title', 'kboard_skin_field_before_title_20210222', 10, 3);
    function kboard_skin_field_before_title_20210222($field, $content, $board){
    	if(kboard_parent_uid() && $board->id == '1'){ // 실제 게시판 id로 적용해보세요.
    		$parent = new KBContent();
    		$parent->initWithUID(kboard_parent_uid());
    		if($parent->secret){
    			?>
    			<input type="hidden" name="secret" value="true">
    			<input type="hidden" name="password" value="<?php echo uniqid()?>">
    			<?php
    		}
    	}
    }

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

    위와 같이 코드를 적용하시면 답글 작성 시 원글이 비밀글이라면

    답글도 자동으로 비밀글로 작성하게 됩니다.

    고맙습니다.

  • 너무 감사합니다! 실행이 잘 돼요!

    그런데 비밀글 메타키를 적용하니 비밀글이 전혀 사용이 되질 않습니다.

    답글을 쓸때 사용자의 비밀글 값을 받는건 불가능한지 여쭈고 싶습니다.

    메타키 삭제를 하면 활성화가 아예 되질 않는건가요?

    감사합니다!

     

    // 

    위의 내용이 불가하다면 혹시 '비밀글을(메타키를 제거) 없애지않고 이미 값이 입력이 되어있는(디폴트로 비밀번호 입력 되어있는)' 상태는 불가한지 여쭈고 싶습니다.

     

    번거롭게 해서 죄송합니다!! 

  • 감사합니다. 해결되었습니다!

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