Налаштувати екран редагування публікації для спеціальних типів публікацій?


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. див.: Завантаження зовнішніх скриптів в адміністраторі, але ТІЛЬКИ для конкретного типу публікації?

Щоб вимкнути швидке редагування:

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 Type Order для того, щоб замовити його. Спасибі!
fxfuture

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