WordPress как на ладони
wordpress jino

wp_unregister_sidebar_widget() WP 2.2

Удаляет ранее зарегистрированный виджет по переданному ID виджета.

Хуки из функции:
Возвращает

Ничего не возвращает.

Использование

wp_unregister_sidebar_widget( $id );
$id(строка) (обязательный)
ID виджета. ID указывается при регистрации виджета функцией: wp_register_sidebar_widget().

Примеры

#1 Отмена виджета

Задача:
Нужно отменить определенный виджет на всех страницах типа is_category().

Решение:
Предположим используя wp_register_sidebar_widget() в functions.php мы зарегистрировали виджет "my_widget", так:

function my_widget_display(){
	// Вывод виджета
}
wp_register_sidebar_widget(
	'my_widget',        // ID виджета
	'Мой виджет',           // Заголовок виджета
	'my_widget_display',  // Функция обратного вызова
);

Затем, мы добавили этот виджет в панель виджетов 'right-sidebar', где среди прочих виджетов выводится и наш виджет в боковой панели темы. Панель с виджетами выводим в sidebar.php так:

<ul id="sidebar">
	<?php dynamic_sidebar( 'right-sidebar' ); ?>
</ul>

Теперь, чтобы отключить виджет "my_widget" на всех страницах категорий, добавим следующий код перед выводом панели виджетов:

<?php wp_unregister_sidebar_widget( 'my_widget' ); ?>

<ul id="sidebar">
	<?php dynamic_sidebar( 'right-sidebar' ); ?>
</ul>

Заметки

  • wp_unregister_sidebar_widget() удаляет виджет и в админ-панели, если вызвать функцию в файле темы functions.php.

  • ID виджета можно узнать посмотрев атрибут id блока виджета в админ панели. Например, блок виджета с ID "your_widget_1" будет иметь такой атрибут: id="widget-17_your_widget_1". Блок какого-нибудь другого виджета будет иметь подобный id="widget-18_my_widget"

Код wp unregister sidebar widget: wp-includes/widgets.php VER 4.9.1

<?php
function wp_unregister_sidebar_widget($id) {

	/**
	 * Fires just before a widget is removed from a sidebar.
	 *
	 * @since 3.0.0
	 *
	 * @param int $id The widget ID.
	 */
	do_action( 'wp_unregister_sidebar_widget', $id );

	wp_register_sidebar_widget($id, '', '');
	wp_unregister_widget_control($id);
}

Cвязанные функции

Из метки: sidebar (widget Виджет)

wp_unregister_sidebar_widget Комментариев нет

Здравствуйте, !

Ваш комментарий