remove_meta_box() – удаляет метабокс

Функция позволяет удалить метабокс из админки WordPress.

Так как вы не можете удалить метабокс до того, как он был добавлен, то пожалуйста убедитесь в том, где конкретно вы используете функцию remove_meta_box(). Обычное её добавление в файл functions.php может не принести должного результата.

Хороший вариант – это хук add_meta_boxes. Он подействует на все метабоксы, добавляемые на страницы редактирования записей, страниц и произвольных типов постов. Однако при удалении виджетов из консоли, используйте хук wp_dashboard_setup.

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

remove_meta_box( $id, $screen, $context )

Параметры функции remove_meta_box()

$id
(строка) ID метабокса, его вы кстати можете узнать, проинспектировав метабокс в браузере.

Чтобы избавить вас от излишнего инспектирования, вот список стандартных метабоксов в WordPress:

  • authordiv – «Автор»,
  • categorydiv – «Рубрики»,
  • tagsdiv-post_tag – «Метки»,
  • commentstatusdiv – «Обсуждение»,
  • commentsdiv – «Комментарии»,
  • formatdiv – «Формат»,
  • pageparentdiv – «Атрибуты страницы»
  • postcustom – «Произвольные поля» (смотрите видеоурок про них),
  • postexcerpt – «Отрывок»
  • postimagediv – «Изображение записи»
  • revisionsdiv – «Редакции»
  • slugdiv – «Ярлык»
  • trackbacksdiv – «Отправить обратные ссылки»
$screen
(строка|массив|WP_Screen) Экран или массив экранов, на которых отображается метабокс. Например post, page или array( 'post', 'page' ).
$context
(строка) По сути это место, в которое был добавлен метабокс, принимает значения normal, advanced, side.

Примеры

1. Удаляем метабокс «Произвольные поля» со Страниц

add_action( 'add_meta_boxes' , 'true_remove_custom_fields', 25 );
 
function true_remove_custom_fields() {
	remove_meta_box( 'postcustom', 'page', 'normal' ); 
}

Не знаете, куда вставлять код?

2. Удаляем виджеты из консоли

Вот про какие виджеты я говорю:

виджеты в консоли WordPress
В этом примере попробуем удалить виджеты «На виду», «Быстрый черновик» и «Новости и мероприятия WordPress».
add_action( 'wp_dashboard_setup', 'true_remove_dashboard_widgets', 25 );
 
function true_remove_dashboard_widgets(){
	remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // На виду
	remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // Быстрый черновик
	remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // Новости и мероприятия WordPress
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.