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 ); // чем больше значение параметра с числом, тем позднее будет выполнена функция

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...