the_category
Позволяет изменить категорию или готовый список категорий записи.
Фильтр применяется после формирования HTML функцией get_the_category_list(). Также WordPress применяет его к названиям рубрик в некоторых элементах админки.
Используйте the_category_list, если нужно изменить массив объектов рубрик до формирования HTML.
Использование
add_filter( 'the_category', 'wp_kama_the_category_filter', 10, 3 );
/**
* Function for `the_category` filter-hook.
*
* @param string $thelist List of categories for the current post.
* @param string $separator Separator used between the categories.
* @param string $parents How to display the category parents. Accepts 'multiple', 'single', or
* empty.
*
* @return string
*/
function wp_kama_the_category_filter( $thelist, $separator, $parents ){
// filter...
return $thelist;
}
- $thelist(строка)
- Категория или список категорий текущей записи. Обычно содержит готовую HTML-разметку.
Может содержать пустую строку, если тип записи не поддерживает рубрики, или текстUncategorized, если рубрики не найдены. - $separator(строка)
- Разделитель между рубриками.
Пустая строка означает, что список формируется как<ul class="post-categories">. - $parents(строка)
- Способ отображения родительских рубрик.
Допустимые значения:multiple,singleили пустая строка.
Примеры
#1 Заменим название рубрики в готовом списке
add_filter( 'the_category', 'wp_kama_replace_category_name' );
function wp_kama_replace_category_name( $categories ) {
return str_replace( 'Tools', 'All tools', $categories );
}Список изменений
| С версии 1.2.0 | Введена. |
Где вызывается хук
the_category
the_category
the_category
the_category
wp-includes/category-template.php 230
return apply_filters( 'the_category', $thelist, $separator, $parents );
wp-includes/category-template.php 146
return apply_filters( 'the_category', '', $separator, $parents );
wp-includes/category-template.php 162
return apply_filters( 'the_category', __( 'Uncategorized' ), $separator, $parents );
wp-admin/edit-tags.php 634
'<strong>' . apply_filters( 'the_category', get_cat_name( get_option( 'default_category' ) ), '', '' ) . '</strong>'
wp-admin/includes/class-walker-category-checklist.php 108
esc_html( apply_filters( 'the_category', $category->name, '', '' ) ) . '</div>';
wp-admin/includes/class-walker-category-checklist.php 120
esc_html( apply_filters( 'the_category', $category->name, '', '' ) ) . '</label>';
wp-admin/includes/template.php 250
echo esc_html( apply_filters( 'the_category', $term->name, '', '' ) );
wp-admin/includes/template.php 298
$name = esc_html( apply_filters( 'the_category', $category->name, '', '' ) );