dynamic_sidebar_params
Дозволяє змінити параметри, передані в callback функцію відображення віджету.
Примітка: фільтр спрацьовує як на лицьовій частині, так і в адміністративній частині сайту, у тому числі для неактивних віджетів бічної панелі на екрані віджетів.
Використання
add_filter('dynamic_sidebar_params', 'wp_kama_dynamic_sidebar_params_filter'); /** * Function for `dynamic_sidebar_params` filter-hook. * * @param array $params * * @return array */ function wp_kama_dynamic_sidebar_params_filter( $params ){ // Filter... return $params; }
-
$params
(масив) args (масив)
Масив аргументів відображення віджету.name (рядок)
Ім’я бічної панелі, якій призначено віджет.id (рядок)
ID бічної панелі, якій призначено віджет.description (рядок)
Опис бічної панелі.class (рядок)
Значення атрибута class для контейнера бічної панелі.before_widget (рядок)
Текст перед кожним віджетом на бічній панелі.after_widget (рядок)
Текст після кожного віджету на бічній панелі.before_title (рядок)
Текст перед відображенням заголовка віджету.after_title (рядок)
Текст після відображення заголовка віджету.widget_id (рядок)
ID віджету.- widget_name (рядок)
Назва віджету.
widget_args (масив)
Масив аргументів кількох віджетів.- number (число)
Номер використання множинного підключення одного і того ж віджету.
- number (число)
Приклади
#1 Замінимо клас контейнера назвою віджету
add_filter( 'dynamic_sidebar_params', 'my_edit_widget_func'); function my_edit_widget_func( $params ) { $class = str_replace( ' ', '-', $params[0]['widget_name'] ); $params[0]['before_title'] = '<h3 class="' . $class . '">' ; return $params; }
#2 Додамо картинку перед назвою певного віджету
add_filter( 'dynamic_sidebar_params', 'my_edit_widget_func'); function my_edit_widget_func( $params ) { if ( $params[0]['widget_id'] == 'example-1' ) { $params[0]['before_title'] .= '<img src="' . get_stylesheet_directory_uri() . '/example-icon.png">'; } return $params; }
#3 Змінимо клас контейнерів для парних віджетів
add_filter('dynamic_sidebar_params', 'change_class_for_even'); function change_class_for_even( $params ) { Global $widget_counter; if ( $params[0]['id'] == 'sidebar-1' ) { $widget_counter++; if ( $widget_counter % 2 == 0 ) { $params[0]['before_widget'] = '<section id="' . $params[0]['widget_id'] . '" class="widget-even">'; } } return $params; }
список змін
З версії 2.5.0 | Введено. |
Де викликається хук
$params = apply_filters('dynamic_sidebar_params', $params);
$params = apply_filters('dynamic_sidebar_params', $params);
Де використовується хук у WordPress
add_filter( 'dynamic_sidebar_params', array( $this, 'filter_dynamic_sidebar_params' ) );