Удаление дефолтных виджетов из консоли WordPress

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

В нашей сегодняшней статье мы покажем вам, как убрать ненужные дефолтные виджеты из консоли WP (“Recent Activity”, “Right Now” и т.д.). При использовании WordPress для создания крупных сайтов порой необходимо удалить некоторые стандартные виджеты и добавить взамен им свои собственные. Ничего сложного. Единственное интересное замечание: код, который требуется для отключения стандартных виджетов, увеличивается в размерах вместе с развитием WordPress. Если у вас имеются сайты, на которых вы уже ранее отключали дефолтные виджеты консоли, то вам нужно проверить, работает ли старый код. В общем, вот функция, которая идеально работает с текущей версией WordPress (3.8):

/*
	Disable Default Dashboard Widgets
	@ http://digwp.com/2014/02/disable-default-dashboard-widgets/
*/
function disable_default_dashboard_widgets() {
	global $wp_meta_boxes;
	// wp..
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
	// bbpress..
	unset($wp_meta_boxes['dashboard']['normal']['core']['bbp-dashboard-right-now']);
}
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets', 999);

После добавления этого кода в functions.php он отключит все стандартные виджеты, которые выводятся на странице WP Dashboard (Консоль). Это достаточно радикальное изменение, поэтому убедитесь в том, что вам нужны все строки кода (закомментируйте или удалите лишние строки).

dashboard-widgets

Сам по себе код достаточно простой. В нем присутствует функция, которая использует unset для отключения дефолтных виджетов: “Recent Activity”, “Right Now” и т.д. Обратите внимание, что последняя строка отключает стандартный bbPress-виджет (удалите ее, если вам это не требуется). Функция подцепляется в WordPress через wp_dashboard_setup. Просто добавьте код в файл functions вашей темы. Он будет актуальным до тех пор, пока опять в WordPress что-нибудь не изменится.

Старый вариант удаления основан на использовании remove_meta_box() для каждого виджета. Пример:

remove_meta_box('dashboard_right_now', 'dashboard', 'core');
remove_meta_box('dashboard_recent_comments', 'dashboard', 'core');
remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');
remove_meta_box('dashboard_plugins', 'dashboard', 'core');
remove_meta_box('dashboard_quick_press', 'dashboard', 'core');
remove_meta_box('dashboard_recent_drafts', 'dashboard', 'core');
remove_meta_box('dashboard_primary', 'dashboard', 'core');
remove_meta_box('dashboard_secondary', 'dashboard', 'core');
.
.
.

Я сталкивался и с другими методиками, но, как мне кажется, в версии 3.8 методология unset является самым подходящим способом удаления виджетов из консоли.

Источник: digwp.com

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии