Расчищаем интерфейс админа: как удалить все мета-поля из консоли WordPress
Страница с записями в консоли может показаться достаточно загроможденной для некоторых пользователей WordPress. К примеру, взгляните на скриншот области, находящейся сразу под экраном написания/редактирования. Она под завязку набита различными мета-полями.
Естественно, если вы хотите удалить большую часть этого хаоса, вы можете вызвать панель 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');
Данный код позволяет удалить все мета-поля ниже редактора записей, в результате чего вы получите чистое, привлекательное визуальное представление. Желтым прямоугольником выделена область, где раньше стояли мета-поля.
Естественно, мы удалили далеко не все мета-поля, которые имеются на этой странице. Остались более важные мета-поля, стоящие справа от редактора записей.
Их тоже можно удалить, однако мы решили отделить код для их удаления от кода, приведенного выше, поскольку эти мета-поля играют важную роль для большинства пользователей. Если вы хотите удалить какое-либо из этих мета-полей, просто скопируйте необходимую вам строку или несколько строк и добавьте их к тому коду, который мы приводили выше (пожалуй, единственное поле, от которого желают избавиться пользователи в данном случае – это ненавистное всем поле форматов записей).
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