페이지 및 사용자 정의 게시물 유형으로 기본적으로 댓글을 끄고 싶습니다
처음에는 주석 표시 기능에서 조건을 사용하여 이러한 페이지에 블록이 표시되는 것을 피했지만 필요한 경우 주석을 다시 켤 수 있어야합니다.
페이지 및 사용자 정의 게시물 유형으로 기본적으로 댓글을 끄고 싶습니다
처음에는 주석 표시 기능에서 조건을 사용하여 이러한 페이지에 블록이 표시되는 것을 피했지만 필요한 경우 주석을 다시 켤 수 있어야합니다.
답변:
내가 이해 한 바에 따라 페이지와 일부 사용자 정의 게시물 유형은 기본적으로 'off'로 댓글을 달도록 설정하고 게시물은 여전히 기본 옵션 (예 : 'on'으로 댓글 달기)을 사용합니다. 이 경우 다음 기능이 작동합니다.
function default_comments_off( $data ) {
if( $data['post_type'] == 'page' && $data['post_status'] == 'auto-draft' ) {
$data['comment_status'] = 0;
}
return $data;
}
add_filter( 'wp_insert_post_data', 'default_comments_off' );
새 게시물 (사용자 정의 유형 또는 일반)을 작성할 때 WordPress 호출 get_default_post_to_edit
은 새 게시물의 기본값을 설정합니다.
이 함수는 기본 제목, 내용 및 발췌 부분을 변경하는 데 필요한 몇 가지 필터 후크를 제공하지만 불행히도 다른 것은 없습니다 ... 그러나 각 필터는 전체 $post
객체를 콜백으로 전달하므로 본질적으로 여러 속성을 재정의 할 수 있습니다 (또는 우리는 좋아한다)
스위치 내부에서 코드로 적용 할 포스트 유형을 추가하기 만하면됩니다. (영화와 페이지는 예입니다.)
function my_default_content( $post_content, $post ) {
if( $post->post_type )
switch( $post->post_type ) {
case 'page':
case 'movie':
$post->comment_status = 'closed';
break;
}
return $post_content;
}
add_filter( 'default_content', 'my_default_content', 10, 2 );
코드는 WP 3.0.1에서 테스트되었으며 다른 유형 이 옵션 에서 기본 상태 를 상속하도록하는 동안 게시물 유형에 대한 주석을 비활성화하는 효과가 default_comment_status
있습니다.
희망이 도움이 .... :)
기본적으로 페이지에서 주석을 비활성화하는 플러그인을 작성했습니다. http://wordpress.org/extend/plugins/page-comments-off-please/
아마도 도움이 될까요?
주석 표시에서 조건부를 계속 사용하는 것이 좋지만 옵션을 사용하여 조건부 설정을 저장하십시오. 그런 다음 관리자가 필요에 따라 주석을 켜거나 끌 수있는 페이지를 설정 메뉴에 추가 할 수 있습니다.
페이지를 작성할 때마다 "off"로 설정하지 않고 "off"로 주석을 달기위한 기본값을 전역 설정으로 설정하려고합니다. 이것은 이다 가능합니다.
WordPress 관리 섹션에서 설정 >> 토론으로 이동하십시오. 첫 번째 섹션 ( "기본 기사 설정")에는 "사람들이 새로운 기사에 대한 의견을 게시 할 수 있도록 허용합니다"라는 옵션이 있습니다.이 옵션의 선택을 취소하십시오.
이제 기본적으로 모든 새 게시물, 페이지 및 사용자 정의 게시물 유형에 대해 댓글이 "해제"됩니다. 개별 게시물 / 페이지 편집 화면의 "토론"메타 상자에서 적절한 확인란을 선택하여 사례별로 주석을 다시 "켜기"로 설정할 수 있습니다.