사용자 정의 게시물 유형에 대한 게시물 편집 화면을 사용자 정의 하시겠습니까? 완전히 맞춤 설정하는 가장 좋은

특정 맞춤 게시물 유형에 대해 게시물 수정 관리자 화면을 완전히 맞춤 설정하는 가장 좋은 방법은 무엇입니까?

추가 필드 등을 추가하여 사용자 정의 게시물 유형을 만들 때 이미 범위를 사용자 정의했지만 퍼머 링크, 게시물 미리보기, 빠른 편집 비활성화 등과 같은 많은 요소를 제거하고 싶습니다.



답변

이러한 질문 중 일부는 여기에 답변되어 있습니다. 기본 관리자 화면 옵션 및 메타 박스 순서 설정

영구 링크 메타 박스를 제거하려면

function my_remove_meta_boxes() {
    remove_meta_box('slugdiv', 'my-post-type', 'core');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

또한 CSS 또는 자바 스크립트로 # edit-slug-box를 숨겨야합니다. 참조 : 관리자에서 외부 스크립트로드하지만 특정 게시물 유형에 대해서만?

빠른 편집을 비활성화하려면

function my_remove_actions( $actions, $post ) {
    if( $post->post_type == 'my-post-type' ) {
        unset( $actions['inline hide-if-no-js'] );
    }
    return $actions;
}
add_filter( 'post_row_actions', 'my_remove_actions', 10, 2 );

미리보기 링크를 변경하려면 ‘preview_post_link’필터를 사용할 수 있지만 게시물이 아직 게시되지 않은 경우에만 작동합니다. 따라서 해결책은 제출 메타 상자를 제거하고 직접 수정 한 상자를 추가하는 것입니다.

function my_replace_submit_meta_box() {
    remove_meta_box('submitdiv', 'my-post-type', 'core');
    add_meta_box('submitdiv', __('Publish'), 'custom_post_submit_meta_box', 'my-post-type', 'side', 'core');
}
add_action( 'admin_menu', 'my_replace_submit_meta_box' );

function custom_post_submit_meta_box() { // a modified version of post_submit_meta_box() (wp-admin/includes/meta-boxes.php, line 12)
    ...
}


답변