안녕하세요.
이번에 새롭게 업데이트 된 기능 중 입력필드 설정이 참 편리하더군요.
하지만 예전처럼 수정이 어려워서... 난감하네요. ㅎ
다름이 아니라 입력필드 추가시 권한을 제한없음으로 하면 , 정말로 제한없이 관리자도 입력해야하더군요.
특히 필수로 체크하면 관리자도 매번 답글이나 공지를 할 때 이메일을 입력해야 하는 번거로움이 있는데요.
기본 필드 중 "작성자"필드는 표시권한이 "비회원일때만 표시"라는 기능이 있던데 일반필드에서도 기능을 사용할 수 없나요?
그럼 답변 부탁드립니다~
안녕하세요~^^
KBoard 플러그인의 입력필드에서 작성자 필드 이외의 필드를
비회원일 경우에 표시하지 않으시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
function my_kboard_get_template_field_html($layout, $field, $content, $board){
if(!is_user_logged_in() && $board->id == '1' && isset($field['meta_key']) && $field['meta_key'] == '메타키'){
return '';
}
return $layout;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 변경하시고
메타키 부분은 실제 입력필드의 메타키로 변경하신 후에 적용해보시겠어요?
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 페이지에서
해당 입력필드의 메타키 필드에서 확인하실 수 있습니다.
따로 메타키를 입력하지 않으면 자동으로 임의의 값으로 설정됩니다.
고맙습니다.
빠른 답변 감사합니다.
혹시 문법을 제대로 몰라서 그런데, 조건이 2개 이상일 경우는 어떻게 처리하면 좋을까요.
안녕하세요.
아래의 코드를 활용해보시겠어요?
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
function my_kboard_get_template_field_html($layout, $field, $content, $board){
if(!is_user_logged_in() && in_array($board->id, array('1', '2', '3'))){
if(isset($field['meta_key']) && $field['meta_key'] == '메타키1' || $field['meta_key'] == '메타키2' || $field['meta_key'] == '메타키3'){
return '';
}
}
return $layout;
}
여러 개의 게시판에 적용하시려면 위의 코드에서 in_array($board->id, array('1', '2', '3'))처럼 적용해주시면 됩니다.
필드를 더 추가해서 적용하시려면 위의 코드 중에서
아래의 코드를
if(isset($field['meta_key']) && $field['meta_key'] == '메타키1' || $field['meta_key'] == '메타키2' || $field['meta_key'] == '메타키3')
아래의 코드처럼 적용해주시면 됩니다.
if(isset($field['meta_key']) && $field['meta_key'] == '메타키1' || $field['meta_key'] == '메타키2' || $field['meta_key'] == '메타키3' || $field['meta_key'] == '메타키4')
고맙습니다.