Вопрос или проблема
Я искал, есть ли простая функция, которая возвращает только имя категории в публикации. Я хочу вывести это как подзаголовок для списка публикаций, но не хочу, чтобы это было ссылкой, а функция the_category();
возвращает только ссылку.
Я также не хочу, чтобы это было в виде списка. Есть ли мысли о том, как я могу просто получить “slug” категории?
Что вам нужно, так это get_the_category()
. Получите список категорий, а затем выполните цикл и выводите только их имена:
$categories = get_the_category();
if ( ! empty( $categories ) ) {
foreach( $categories as $category ){
echo esc_html( $category->name );
}
}
Эта функция возвращает массив объектов WP_Term
. Вы можете проверить предоставленную ссылку для получения списка доступных методов.
Вы также можете использовать get_the_terms с любой таксономией и выводить без ссылки таким образом:
$terms = get_the_terms( get_the_ID(), 'category' );
if ( $terms && ! is_wp_error( $terms ) ) :
$cats = array();
foreach ( $terms as $term ) {
$cats[] = $term->name;
}
$cats = join( ', ', $cats );
echo $cats;
endif;
}
Ответ или решение
Чтобы получить название категории без ссылки в WordPress, вы можете использовать функции get_the_category()
или get_the_terms()
. Оба метода позволят вам исключить ссылки и вывести только имена категорий.
- Используя
get_the_category()
:
$categories = get_the_category();
if ( ! empty( $categories ) ) {
foreach( $categories as $category ){
echo esc_html( $category->name );
}
}
Этот код извлекает категории, связанные с текущим постом, и выводит каждое название категории. Использование esc_html()
обеспечивает безопасный вывод, предотвращая возможные XSS-атаки.
- Используя
get_the_terms()
:
Если вы хотите больше контроля (например, если работаете с другими таксономиями), вы можете использовать get_the_terms()
следующим образом:
$terms = get_the_terms( get_the_ID(), 'category' );
if ( $terms && ! is_wp_error( $terms ) ) :
$cats = array();
foreach ( $terms as $term ) {
$cats[] = $term->name;
}
$cats = join( ', ', $cats );
echo $cats;
endif;
В этом коде мы получаем термины для заданного поста и таксономии "category". Проверяем, чтобы массив не был пустым и не был ошибкой. Затем извлекаем названия категорий и объединяем их в строку, разделенную запятыми.
Таким образом, оба подхода позволяют вам получить названия категорий без гиперссылок, и вы можете использовать их в любом месте вашего шаблона WordPress.