widget_title хук-фильтр . WP 2.6.0
Позволяет изменить заголовок виджета во фронтенде.
Использование
add_filter( 'widget_title', 'filter_function_name_1965', 10, 3 ); function filter_function_name_1965( $title, $instance, $id_base ){ // Делаем что-либо... return $title; }
- $title(строка)
- Заголовок виджета.
- $instance(массив)
Настройки текущего виджета. Например, виджет "Рубрики" в зависимости от настроек может содержать следующие данные:
Array ( [title] => Рубрики [count] => 0 [hierarchical] => 1 [dropdown] => 1 )
- $id_base(строка)
- ID виджета, который указывается в конструкторе класса виджета. Например виджет "Рубрики" имеет
id = categories
, а у виджета "Свежие записи"id = recent-posts
.
Примеры
#1 Изменим заголовок у всех виджетов.
Обернем заголовок у всех виджетов в тег span
с произвольным CSS классом.
/** * Изменяет заголовок всех виджетов. * * @param string $title * * @return string */ function filter_all_widget_title( $title ) { return "<span class='my-custom-class'>$title</span>"; } add_filter( 'widget_title', 'filter_all_widget_title' );
#2 Изменим заголовок только у виджетов "Рубрики".
Сделаем всё тоже самое, что и в первом примере, но только для виджетов "Рубрики".
/** * Изменяет заголовок у всех виджетов "Рубрики". * * @param string $title * @param array $instance * @param string $id_base * * @return string */ function filter_widget_categories_title( $title, $instance, $id_base ) { if ( 'categories' == $id_base ) { $title = "<span class='my-custom-class'>$title</span>"; } return $title; } add_filter( 'widget_title', 'filter_widget_categories_title', 10, 3 );
#3 Изменим заголовок у всех виджетов "Рубрики" в виде выпадающего списка.
/** * Изменяет заголовок у всех виджетов "Рубрики" в виде выпадающего списка. * * @param string $title * @param array $instance * @param string $id_base * * @return string */ function filter_widget_categories_title( $title, $instance, $id_base ) { if ( 'categories' == $id_base && ! empty( $instance['hierarchical'] ) ) { $title .= ' в виде выпадающего списка'; } return $title; } add_filter( 'widget_title', 'filter_widget_categories_title', 10, 3 );
Список изменений
С версии 2.6.0 | Введена. |
Где вызывается хук
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
widget_title
wp-includes/widgets/class-wp-widget-pages.php 54
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
woocommerce/includes/abstracts/abstract-wc-widget.php 152
$title = apply_filters( 'widget_title', $this->get_instance_title( $instance ), $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-media.php 232
$title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-rss.php 85
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-nav-menu-widget.php 52
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-calendar.php 53
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-categories.php 50
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-recent-comments.php 84
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-meta.php 48
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-archives.php 46
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-text.php 228
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-recent-posts.php 51
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-search.php 46
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-tag-cloud.php 86
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
wp-includes/widgets/class-wp-widget-custom-html.php 131
$title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
Где используется хук (в ядре WP)
wp-includes/default-filters.php 135
add_filter( $filter, 'wptexturize' );
wp-includes/default-filters.php 136
add_filter( $filter, 'convert_chars' );
wp-includes/default-filters.php 137
add_filter( $filter, 'esc_html' );

campusboy
youtube.com/c/wpplus
—
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Заменил заголовок виджета Рубрики с h2 на h3. Код стал выглядеть так:
Как удалить вывод пустого h2?