В нашей сегодняшней статье мы покажем вам, как убрать ненужные дефолтные виджеты из консоли 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 (Консоль). Это достаточно радикальное изменение, поэтому убедитесь в том, что вам нужны все строки кода (закомментируйте или удалите лишние строки).
Сам по себе код достаточно простой. В нем присутствует функция, которая использует 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
Они же в настройках сверху убираются
Убрать в настройках и удалить — разные вещи. То, что убирается в настройках, может быть опять восстановлено пользователем. Здесь же удаляется полностью как функционал. Делается это с целью замены этих виджетов на что-то свое для стилизации консоли (соответствие бренду и т.д.) или просто для очистки пространства.
«Они же в настройках сверху убираются»
Вы наверное единственный пользователь на сайте? :)
Почему же?
Не хватает remove_action(‘welcome_panel’, ‘wp_welcome_panel’); Для удаления приветственной панели
Что вставлял код, что нет. Всё как было, так и осталось.