Как изменить страницу редактирования для произвольного типа записи?
Я искал это весь день и не могу найти.
Я работаю над пользовательской страницей контактов и использую функцию произвольного типа записи, чтобы иметь больше контроля над ней. Я хочу изменить страницу редактирования на пользовательский шаблон (например, когда я перехожу на /wp-admin/post.php?post=1234&action=edit
), я хочу, чтобы отображалась пользовательская страница. Мне не нужны никакие метабоксы или что-то подобное. Возможно, редактор, но внизу страницы (не по умолчанию вверху).
Я нашел, как удалить метабоксы, но не нашел, как получить чистый лист на странице редактирования произвольного типа записи.
function remove_metaboxes(){
remove_meta_box('postexcerpt', 'obpcontacts', 'normal'); // Удаление блока отрывка
remove_meta_box('commentstatusdiv', 'obpcontacts', 'normal'); // Удаление блока статуса комментариев
remove_meta_box('commentsdiv', 'obpcontacts', 'normal'); // Удаление блока комментариев
}
add_action( 'add_meta_boxes', 'remove_metaboxes',11 );
Есть мысли о том, как создать пользовательский шаблон в разделе редактирования wp-admin для моего произвольного типа записи?
Насколько я знаю, можно удалить почти все, кроме заголовка с тегом h2
и границы .postbox-container
. Также учтите, что #message
по умолчанию не виден, но может появиться в зависимости от ваших действий.
При регистрации вашего CPT установите supports
в пустой массив.
'supports' => array ('')
Затем можно использовать следующий код для удаления блока публикации и слага (слаг по умолчанию не виден, но он есть в настройках экрана):
function remove_metaboxes(){
remove_meta_box('slugdiv', 'obpcontacts', 'normal'); // Слаг
remove_meta_box('submitdiv', 'obpcontacts', 'side'); // Блок публикации
}
add_action( 'add_meta_boxes', 'remove_metaboxes', 11 );
Останется несколько элементов, которые, возможно, потребуется удалить с помощью JavaScript:
//jQuery подключается только для вашего CPT
.removeClass("wrap"); //удалить все CSS

Если вам не нужна определённая функциональность (а не просто её скрытие), вы можете полностью убрать её из списка аргументов, передаваемых в register_post_type()
.
Этот код отобразит только поля заголовка и редактора содержимого:
$args = array(
'supports' => array( 'title', 'editor' )
);
Возможные значения параметра supports:
- 'title' - заголовок
- 'editor' - редактор содержимого
- 'author' - автор
- 'thumbnail' - миниатюра (изображение записи, тема также должна поддерживать post-thumbnails)
- 'excerpt' - цитата
- 'trackbacks' - уведомления
- 'custom-fields' - произвольные поля
- 'comments' - комментарии (также отображает счётчик комментариев на экране редактирования)
- 'revisions' - ревизии (будет сохранять версии правок)
- 'page-attributes' - атрибуты страницы (порядок в меню, для отображения опции "Родительская" hierarchical должен быть true)
- 'post-formats' - форматы записей, см. Post Formats
