Как изменить страницу редактирования для произвольного типа записи?

31 авг. 2013 г., 02:32:03
Просмотры: 22K
Голосов: 5

Я искал это весь день и не могу найти.

Я работаю над пользовательской страницей контактов и использую функцию произвольного типа записи, чтобы иметь больше контроля над ней. Я хочу изменить страницу редактирования на пользовательский шаблон (например, когда я перехожу на /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 для моего произвольного типа записи?

5
Комментарии

Не думаю. Читал это несколько часов назад, и там не совсем объясняется, как определить свои собственные div'ы для отображения моих пользовательских полей на странице редактирования. Также, когда я устанавливаю show_ui в false, я теряю весь CPT в меню админки - тоже не идеально. Разве что я просто не улавливаю связь?

Pat Pat
31 авг. 2013 г. 03:14:08

Да, если вы установите CPT в false, вы потеряете все стандартные меню и интерфейсы. Вам нужен чистый лист. Это самый чистый вариант. Затем вы можете создать собственный пользовательский интерфейс для CPT.

s_ha_dum s_ha_dum
31 авг. 2013 г. 03:45:42

Кстати, то, что вы делаете выше — это правильный способ удаления частей стандартного экрана редактирования, которые можно удалить, но не все части поддаются удалению. В этом ваша проблема. Только некоторые части экрана редактирования можно изменить. Вы никогда не получите чистый лист. Единственный способ убрать всё — это строить с нуля.

s_ha_dum s_ha_dum
31 авг. 2013 г. 03:49:26

Да, именно в этом мой вопрос. Как мне получить чистый лист? Предложенный дубликат, за который вы проголосовали, мне не слишком помогает. Как я уже говорил — я не улавливаю связь в этом вопросе.

Pat Pat
31 авг. 2013 г. 04:10:50
Все ответы на вопрос 2
0

Насколько я знаю, можно удалить почти все, кроме заголовка с тегом 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
31 авг. 2013 г. 05:23:55
0

Если вам не нужна определённая функциональность (а не просто её скрытие), вы можете полностью убрать её из списка аргументов, передаваемых в 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
31 авг. 2013 г. 05:40:59