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 );
}