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


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.