Расчищаем интерфейс админа: как удалить все мета-поля из консоли WordPress

Страница с записями в консоли может показаться достаточно загроможденной для некоторых пользователей WordPress. К примеру, взгляните на скриншот области, находящейся сразу под экраном написания/редактирования. Она под завязку набита различными мета-полями.

all-meta-boxes

Естественно, если вы хотите удалить большую часть этого хаоса, вы можете вызвать панель Screen Options (Настройки экрана) в самом верху страницы и убрать ненужные настройки.

screen-options

Такой подход, безусловно, действенный, однако как быть, если вы хотите автоматически убрать все эти мета-поля? К примеру, допустим, что вы работаете с клиентами или пользователями сайта, которые не желают углубляться в изучение того, как все эти поля функционируют. Или же вы просто не хотите делать эти поля доступными для пользователей, вне зависимости от ваших целей.

Невзирая на то что для этого создано множество плагинов, мы покажем вам, как очистить экран записей в консоли с помощью добавления некоторого кода в файл functions.php.

Код для удаления мета-полей

Код, представленный ниже, содержит в себе комментарии, в которых сказано, что и как мы удаляем. К примеру, если вы хотите сохранить мета-поле с цитатой, тогда вы должны найти соответствующую строку и убрать ее из кода (либо закомментировать).

Поместите в файл functions.php вашей темы следующий код:

// REMOVE POST META BOXES
function remove_my_post_metaboxes() {
remove_meta_box( 'authordiv','post','normal' ); // Author Metabox
remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Status Metabox
remove_meta_box( 'commentsdiv','post','normal' ); // Comments Metabox
remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox
remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox
remove_meta_box( 'revisionsdiv','post','normal' ); // Revisions Metabox
remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox
remove_meta_box( 'trackbacksdiv','post','normal' ); // Trackback Metabox
}
add_action('admin_menu','remove_my_post_metaboxes');

Данный код позволяет удалить все мета-поля ниже редактора записей, в результате чего вы получите чистое, привлекательное визуальное представление. Желтым прямоугольником выделена область, где раньше стояли мета-поля.

clean-outlined

Естественно, мы удалили далеко не все мета-поля, которые имеются на этой странице. Остались более важные мета-поля, стоящие справа от редактора записей.

right-side-meta-boxes

Их тоже можно удалить, однако мы решили отделить код для их удаления от кода, приведенного выше, поскольку эти мета-поля играют важную роль для большинства пользователей. Если вы хотите удалить какое-либо из этих мета-полей, просто скопируйте необходимую вам строку или несколько строк и добавьте их к тому коду, который мы приводили выше (пожалуй, единственное поле, от которого желают избавиться пользователи в данном случае – это ненавистное всем поле форматов записей).

remove_meta_box( 'categorydiv','post','normal' ); // Categories Metabox
remove_meta_box( 'formatdiv','post','normal' ); // Formats Metabox
remove_meta_box( 'postimagediv','post','normal' ); // Featured Image Metabox
remove_meta_box( 'submitdiv','post','normal' ); // Categories Metabox
remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Tags Metabox

Примечание: код для удаления поля с миниатюрой по каким-то причинам не работает (хотя написан он верно), поэтому мы решили не включать его в статью.

Удаление мета-полей со страниц

То же самое может быть сделано и для страниц, естественно. Вот код для этого:

// REMOVE PAGE META BOXES
function remove_my_page_metaboxes() {
remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox
remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox
remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox
remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox
remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox
remove_meta_box( 'authordiv','page','normal' ); // Author Metabox
}
add_action('admin_menu','remove_my_page_metaboxes');

Помните, что файл functions.php привязан к определенной теме. Если вы измените используемую тему, то вам придется снова добавлять весь этот код в functions.php новой темы.

Источник: wpmu.org

Блог про WordPress
Комментарии: 2
  1. Волшебник

    Было бы интересно почитать как удалять следы удалённых плагинов, тем и так далее, некоторые из которых оставляют мусор в БД и файлах.

    1. Дмитрий (автор)

      Могу посоветовать плагин http://wordpress.org/plugins/plugins-garbage-collector/.

      Если найду хорошую статью по этой теме, то переведу в блоге.

Добавить комментарий

Получать новые комментарии по электронной почте.