코스모스팜 스레드

입력필드 설정 시 권한

안녕하세요.
이번에 새롭게 업데이트 된 기능 중 입력필드 설정이 참 편리하더군요.

하지만 예전처럼 수정이 어려워서... 난감하네요. ㅎ

다름이 아니라 입력필드 추가시 권한을 제한없음으로 하면 , 정말로 제한없이 관리자도 입력해야하더군요.
특히 필수로 체크하면 관리자도 매번 답글이나 공지를 할 때 이메일을 입력해야 하는 번거로움이 있는데요.

기본 필드 중 "작성자"필드는 표시권한이 "비회원일때만 표시"라는 기능이 있던데 일반필드에서도 기능을 사용할 수 없나요?

그럼 답변 부탁드립니다~
 

이 페이지의 내용이 유익하시나요? 혹은 더 많은 답변을 받길 원하시면 이 페이지를 공유 해보시는건 어떨까요?

내 홈페이지에 소셜 공유 버튼 추가하기

코스모스팜 회원관리
코스모스팜 회원관리
  • 안녕하세요~^^

    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')

    고맙습니다.

코스모스팜 회원관리