WordPress как на ладони
WordPress Meetup #4. Встречаемся в Москве wordpress jino

Удаление виджетов из WordPress

Чтобы удобнее было работать в админке WordPress, иногда нужно отключить метабоксы и виджеты, В этой которой заметке посмотрим как это сделать.

Удаление виджетов на странице виджетов

Чтобы отключить базовые виджеты в WordPress используйте такой код:

## Отключаем стандартные виджеты WordPress
add_action('widgets_init', 'unregister_basic_widgets' );
function unregister_basic_widgets() {
	unregister_widget('WP_Widget_Pages');            // Виджет страниц
	unregister_widget('WP_Widget_Calendar');         // Календарь
	unregister_widget('WP_Widget_Archives');         // Архивы
	unregister_widget('WP_Widget_Links');            // Ссылки
	unregister_widget('WP_Widget_Meta');             // Мета виджет
	unregister_widget('WP_Widget_Search');           // Поиск
	unregister_widget('WP_Widget_Text');             // Текст
	unregister_widget('WP_Widget_Categories');       // Категории
	unregister_widget('WP_Widget_Recent_Posts');     // Последние записи
	unregister_widget('WP_Widget_Recent_Comments');  // Последние комментарии
	unregister_widget('WP_Widget_RSS');              // RSS
	unregister_widget('WP_Widget_Tag_Cloud');        // Облако меток
	unregister_widget('WP_Nav_Menu_Widget');         // Меню
	unregister_widget('WP_Widget_Media_Audio');      // Audio
	unregister_widget('WP_Widget_Media_Video');      // Video
	unregister_widget('WP_Widget_Media_Gallery');    // Gallery
	unregister_widget('WP_Widget_Media_Image');      // Image
}

Используйте этот код в файле темы functions.php.

Подробнее о том как удалять виджеты и другие тонкости читайте в описании функции unregister_widget()

Виджеты (метабоксы) в консоли

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

Однако у такого способа отключения виджетов есть как минимум 2 недостатка:

  1. Выключение галочками, лишь скрывает блоки (средствами CSS), а не удаляет их из кода.

  2. Если мы делаем сайт на заказ, то некоторые блоки лучше вообще скрыть, чтобы не было ни блоков, ни галочек в "Настройках экрана".

Чтобы избежать этих недостатков, виджеты можно убрать на программном уровне, использовав такой код в файле темы functions.php:

## Удаление виджетов из Консоли WordPress
add_action('wp_dashboard_setup', 'clear_wp_dash' );
function clear_wp_dash(){
	$dash_side = &$GLOBALS['wp_meta_boxes']['dashboard']['side']['core'];
	$dash_normal = &$GLOBALS['wp_meta_boxes']['dashboard']['normal']['core'];

	unset($dash_side['dashboard_quick_press']);   //Быстрая публикация
	unset($dash_side['dashboard_recent_drafts']); //Полседние черновики
	unset($dash_side['dashboard_primary']);       //Блог WordPress
	unset($dash_side['dashboard_secondary']);     //Другие Нновости WordPress

	unset($dash_normal['dashboard_incoming_links']);  //Входящие ссылки
	unset($dash_normal['dashboard_right_now']);       //Прямо сейчас
	unset($dash_normal['dashboard_recent_comments']); //Последние комментарии
	unset($dash_normal['dashboard_plugins']);         //Последние Плагины

	unset($dash_normal['dashboard_activity']);        // Активность
}

В коде я подписал какая строка за какой виджет отвечает. Здесь я специально показал все стандартные блоки Консоли WordPress, в действительности в коде нужно оставить только те строки которые отвечают за виджеты, которые нужно удалить (пардон за тавтологию). Я в коде их не удалил, а закомментировал, т.е, если данный код поместить в файл темы functions.php, то в Консоли WordPress останется всего 2 виджета: Полседние черновики и Прямо сейчас.

Помимо удаления виджетов, можно также создавать свои. Как это делать подробно описано в кодексе WordPress.

26 комментов
  • Paul cайт: paul-maul.com

    Ogromnoe VAM NeChelovecheskoe Ot VSEY Dushi BLAGO_Daryu!!!

    Ответить3.7 года назад #
  • Ivan

    Отличная статья) Респектmosking

    Ответить3 года назад #
  • Дмитрий cайт: www.extrema.in.ua

    Огромное спасибо за полезный пост! Наконец-то лишнее со страницы удалено)

    Ответить2.6 года назад #
Здравствуйте, !     Войти . Зарегистрироваться