특정 맞춤 게시물 유형에 대해 게시물 수정 관리자 화면을 완전히 맞춤 설정하는 가장 좋은 방법은 무엇입니까?
추가 필드 등을 추가하여 사용자 정의 게시물 유형을 만들 때 이미 범위를 사용자 정의했지만 퍼머 링크, 게시물 미리보기, 빠른 편집 비활성화 등과 같은 많은 요소를 제거하고 싶습니다.
답변
이러한 질문 중 일부는 여기에 답변되어 있습니다. 기본 관리자 화면 옵션 및 메타 박스 순서 설정
영구 링크 메타 박스를 제거하려면
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)
...
}