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 в 2009 году. С 2014 года меня можно встретить на WordCamp — официальной конфе по WordPress, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills.

Если вам нужна помощь с вашим сайтом или разработка с нуля, то могу порекомендовать хороших ребят. Просто напишите мне.