wp_unregister_sidebar_widget()
Видаляє раніше зареєстрований віджет за надісланим ID віджетом.
- Ця функція видаляє віджет в адмін-панелі, якщо викликати її у файлі теми functions.php .
- ID віджету можна дізнатися, подивившись атрибут id блоку віджету в адмін панелі. Наприклад, блок віджету з ID
"your_widget_1"
матиме такий атрибут:id="widget-17_your_widget_1"
. Блок якогось іншого віджету матиме подібнийid="widget-18_my_widget"
Хуки з функції
Повертає
null
. Нічого не вертає.
Використання
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>
список змін
З версії 2.2.0 | Введено. |
Код wp_unregister_sidebar_widget() wp unregister sidebar widget WP 6.0.2
function wp_unregister_sidebar_widget( $id ) { /** * Fires just before a widget is removed from a sidebar. * * @ Since 3.0.0 * * @param int|string $id The widget ID. */ do_action( 'wp_unregister_sidebar_widget', $id); wp_register_sidebar_widget( $id, '', '' ); wp_unregister_widget_control( $id ); }