Настроить экран редактирования сообщения для пользовательских типов сообщений?


15

Каков наилучший способ полностью настроить экран администратора Редактировать сообщение для определенного пользовательского типа сообщения?

Я уже настроил его до такой степени, что при создании пользовательского типа записи - добавлении дополнительных полей и т. Д., Но я хочу удалить многие элементы, такие как постоянные ссылки, предварительный просмотр сообщения, отключить быстрое редактирование и т. Д.

Ответы:


16

Ответы на некоторые из этих вопросов здесь: Задать параметры экрана администратора по умолчанию и порядок метабоксов.

Чтобы удалить метабокс с постоянной ссылкой:

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

Кроме того, вам придется скрыть # edit-slug-box с помощью css или javascript. видеть: Загрузка внешних скриптов в Admin, но ТОЛЬКО для определенного типа поста?

Чтобы отключить быстрое редактирование:

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)
    ...
}

Спасибо. Искал ответ на это целую вечность! Кроме того, есть ли способ изменить место ссылки кнопки «Просмотр» в поле «Публикация»? Я хотел бы, чтобы он ссылался на mysite.com/video?id='id of post 'или открыл лайтбокс с видеоплеером
fxfuture

Привет еще раз - на самом деле я не могу получить ни один из этих кусков кода, который вы предоставили для работы. Метабокс постоянных ссылок просто отключает сохранение изменений в постоянную ссылку, а не скрывает их, и я вообще не могу отключить ссылку быстрого редактирования. Есть идеи?
fxfuture

Я отредактировал свой ответ. Я только что протестировал код быстрого редактирования, и он работает. Вы говорите о ссылке быстрого редактирования под названием поста: wp-admin / edit.php? Post_type = sis_course, верно?
sorich87

Отлично, я посмотрю дополнительную информацию, которую вы разместили. Мне удалось скрыть быстрое редактирование, изменив «иерархический» => false в моем пользовательском типе записи. Похоже, ничего не изменится, так как я использую плагин Post Types Order для его заказа. Благодарность!
fxfuture

Замена метаданных отправки работала отлично! На самом деле он должен был включать $ post в скобках в вашей функции - то есть custom_post_submit_meta_box ($ post). Итак, это все три отсортировано :) Есть еще немного настроек, которые я хочу сделать как для списка сообщений, так и для экрана редактирования сообщений - знаете ли вы справочное руководство, в котором подробно описано, как удалить / заменить все различные элементы?
fxfuture
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.