맞춤 게시물 유형 : 에디터 제거 방법 (메타 박스)


9

포스트 에디터 (visual + html)를 제거 하는 방법에 대해 의문 입니다. 게시물 유형 지원을 등록하려고 시도했지만 여전히 나타납니다 (등록 취소는 게시물 편집 화면의 다른 모든 기본 메타 상자에서 제대로 작동 함). 또한 remove_meta_box로 등록을 해제하려고 시도했지만 작동하지 않았습니다 (제목 메타 상자를 제외한 다른 모든 작업). 어쩌면 뭔가 빠졌을 수도 있습니다. 이미 웹을 검색했지만 아무것도 찾을 수 없습니다. 누군가가 말해 줄 수 있기를 바랍니다. 감사!

추신. 제목 필드를 사용 중지하는 해결책도 기쁘 겠지만 두 번째입니다 (게시물 유형으로 등록하지 않음).

(Wordpress 버전은 3.0.4입니다.)

답변:


17

게시물 유형 선언에서 'supports'에 빈 배열을 제공하면 편집 게시물 페이지의 다른 모든 기본 상자와 함께 편집기와 제목이 제거됩니다.

$supports = array ('');
    $args = array(
      'label' => 'people',
      'supports' => $supports,
      'hierarchical' => false,
      'public' => true,
      'rewrite' => true
         );

    register_post_type( 'people', $args);

결과 : 대체 텍스트 트랙백, 주석 등과 같이 표시하려는 요소로 '지원'을 채 웁니다. 게시물을 저장할 수있는 상자를 제외하고 비워두면 페이지가 비워집니다. 계층 적 분류 체계 메타 박스도 제거하려면 여기 를 방문 하십시오 .


지금까지 감사합니다. 내 문제는 모든 것을 비울 수 없다는 것입니다. 맞춤 게시물 유형, 맞춤 분류 및 태그 생성 속도를 높이기 위해 세 가지 클래스를 작성했습니다. 그들은 기본값을 가지고 있습니다. 맞춤 게시물 유형의 경우 단순히 모든 것입니다. 그러나 특정 게시물 유형의 일부 상자를 등록 취소해야합니다. 그리고 하나는 편집기 상자를 등록 취소해야합니다.
— 카이저

모든 것을 비워 두는 것이 무엇을 의미합니까? 편집기를 제거하려면 클래스에서 게시물 유형을 작성할 때; support '배열에; editor'를 넣지 마십시오.
— 매니 Fleurmond

2
@kaiser 자신의 수업이라면 무엇이 문제입니까? 그들을 처리하게 하시겠습니까? ..
— Rarst

@Rarst : 배열에서 포스트 타입과 분류를 등록하고 $ labels와 $ args (기본 및 특정)에 대한 필터를 제공하는 것은 단지 기초입니다. 용어 클래스는 배열에서 업데이트하고 서명하는 삭제 불가능한 용어 만 생성합니다. 메타 박스는 수업이 없어도 쉬울 수 있으며 통합하기에는 적합하지 않습니다. 수업은 시간을 절약하고 클라이언트가 시스템에 필요한 용어를 삭제하지 못하도록하기위한 것입니다. 하지만 찾아 주셔서 감사합니다. 당신의 도움은 매우 높이 평가됩니다 :)
— kaiser

2
@kaiser 그렇다면 supports필터를 통해 빈 배열 로 설정하는 데 문제가 무엇 입니까?
— Rarst

15

supports인수에 대해 아무것도 전달하지 않으면 의 기본 설정 'title', 'editor'이 사용됩니다 (여기서 "nothing"은입니다 empty()).

그러나에 게시물 유형을 등록한 후 무언가에 대한 지원을 추가 할 수있는 것처럼을 add_post_type_support( $post_type, $feature )호출하여 무언가에 대한 지원을 제거 할 수 있습니다 remove_post_type_support( $post_type, $feature ). 따라서 게시물 유형을 등록한 후 이것을 호출하면 편집기가 제거됩니다.

remove_post_type_support( 'my_post_type', 'editor' );

이 함수는 전역 $_wp_post_type_features변수를 조작 하지만 API 함수를 사용하여 직접 조작하는 것보다 항상 API 함수를 사용하는 것이 좋습니다.


해결책! 나는 항상 이것이 ex를 제거하는 것이라고 생각했습니다. 하위 테마를 통한 미리보기 이미지 또는 nav_menu 고마워요!
— 카이저

1
그렇습니다. 좋은 점, 빈 배열을 전달하면 비어있는 것으로 평가됩니다 ... 빈 값을 전달하는 것은 항상 엉망입니다. 반 직관적이므로 아무것도 아닌 기본값 처럼 취급 됩니다 . :(
— Rarst

1
@Rarst : 더미 기능 이름을 전달하면 효과가 있다고 생각합니다. 단지 배열 키이므로 더미 데이터가 삽입되는지는 중요하지 않습니다. 나는 한 번 사용하는 0.1대신 0매개 변수에 패스하기 위해 empty()검사합니다.
— Jan Fabry

1
@ Jan Fabry 네, 제가 처음 밟은 것은 아닙니다 empty(). 위와 같이-매우 직관적입니다.
— Rarst

흠. 키로 작동하지 않으므로 나중에 업그레이드 할 때 "더미 값"이 또 다른 "광산"이 될 수 있다고 생각합니다 (나쁜 값을 찾으려고 시도하십시오). 어쨌든 : 모두에게 감사합니다! :) 편집 : 값이있을뿐만 아니라 키 / 값 쌍이면 편리합니다. 전의. 'support' => array('thumbnail' => true, 'editor' => false);
— 카이저

2

맞춤 게시물 유형 UI 플러그인을 사용하여 맞춤 게시물 유형을 만듭니다. 이 플러그인을 사용하면 고급 옵션에서 사후 편집기를 비활성화 할 수 있습니다.

게시물 유형 관리-> 고급 옵션보기

플러그인에 대한 링크는 다음과 같습니다. http://wordpress.org/extend/plugins/custom-post-type-ui/

추신-제목 필드도 비활성화 할 수 있습니다 :)


위에서 말했듯이 세 가지 클래스를 작성 했으므로 플러그인으로 전환 할 수 없습니다. 어쨌든 플러그인 사용을 고려하지 않을 것입니다. 플러그인은 개발 또는 의견 양식과 같은 쉽게 상호 교환 가능한 항목을위한 (imo)이며 게시물 유형이나 분류법과 같은 핵심 요소는 아닙니다. 어쨌든 고마워!
— 카이저

1
실제로 플러그인은 사용자 정의 게시물 유형을 포함하여 Wordpress에 대해 거의 모든 것을 사용자 정의 할 수 있습니다. 수많은 게시물 유형, 메타 박스 및 다양한 사용자 정의 필드를 만드는 플러그인을 지금 만들고 있습니다.
— 매니 Fleurmond

@ 매니 Fleurmond : 당신이 공유하려고한다면, pls는 저에게 링크를 드롭. 나는 아직도 내 수업에서 고급 메타 박스에 대한 루틴을 작성하는 것에 대해 생각하고 있습니다.
— 카이저

0

register_post_type ()을 확인하십시오 . 코덱에. 언더 인수 섹션을 스크롤 다운 당신이 볼 때까지 지원하는 .

3.5부터는 기본 (제목 및 편집기) 동작 을 방지하기 위해 부울 false을 배열 대신 값으로 전달할 수 있습니다 .

또는 원하는 값을 추가하여 원하는대로 게시물 유형을 사용자 정의하십시오.

'supports' => array(
    'title',
    'author',
    'thumbnail',
    'post-formats'
),

배열에서 지원되는 옵션은 워드 프레스 백엔드에 나타납니다.


-2

편집자 등의 하위 요소를 숨기도록 관리자 편집 페이지의 스타일을 설정할 수도 있습니다.

function custom_colors() {
   echo '<style type="text/css">
            body.post-type-events #postdivrich {
            display: none;
            }
         </style>';
}

add_action('admin_head', 'custom_colors');

귀하의 답변에 감사드립니다. 그러나 이것은 (a) Dependencies API에 등록되지 않았기 때문에 제거 할 수 없게 만들고 (b) 브라우저 개발자 도구를 사용하는 방법을 아는 사람들이 액세스 할 수있게합니다.
— 카이저
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.