unregister_widget() — отменяет регистрацию виджета

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

Как и большинство функций по работе с виджетами, эту функцию нужно задействовать внутри хука widgets_init. Относительно этого хочется заметить, что, если вы отключается какой-то произвольный виджет (хотя в случае с виджетами, которые не относятся к стандартным вордпрессовским — их лучше удалить непосредственно в коде, но такой вариант тоже не всегда хорош), то функция unregister_widget() должна быть задействована после того, как виджет будет зарегистрирован, иначе ей просто нечего будет отключать.

unregister_widget($widget_class)
$widget_class
(строка) Название класса виджета. Названия классов стандартных виджетов WordPress, а также их описание вы можете посмотреть здесь.

Функция ничего не возвращает.

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

Пример

Предположим, что виджетом, выводящим календарь, мы не пользуемся, давайте его отключим.

function true_remove_calendar_widget() {
	unregister_widget('WP_Widget_Calendar');
}
 
add_action( 'widgets_init', 'true_remove_calendar_widget', 50 ); // чем больше значение параметра с числом, тем позднее будет выполнена функция

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

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