Категория nicename внутри цикла в wordpress

Как я могу эхом отозвать название темы текущего сообщения в главном цикле.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> echo <div class="btn category-nicename"> <?php endwhile; else : ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; ?> 

Я хочу, чтобы эхо наименования категории внутри тега div в качестве класса, а затем хочу настроить таргетинг на css

Какие-либо предложения?

Solutions Collecting From Web of "Категория nicename внутри цикла в wordpress"

Вы можете использовать get_the_category внутри цикла, чтобы получить категорию, которой назначен пост. Чтобы получить список доступных доступных переменных-членов, см. get_categories .

Я предложил бы ориентироваться только на первую категорию, которая также будет родительской категорией, если пост присваивается только одному родителю и некоторым дочерним категориям родителя. Вот пример, чтобы получить первую категорию, назначенную для имени файла post

 $category = get_the_category(); $post_cat = $category[0]->category_nicename; 

Теперь вы можете использовать $post_cat как свой класс. Не забудьте добавить этот код перед этой строкой

 echo <div class="btn category-nicename"> 

Просто советую здесь не злоупотреблять echo . Используйте теги php, где необходимо, чтобы избежать ненужного использования echo . BTW, ваш синтаксис неверен

 echo <div class="btn category-nicename"> 

должно быть

 echo '<div class="btn category-nicename">'; 

если вы собираетесь использовать echo

РЕДАКТИРОВАТЬ

Из вашего комментария выше ^^, вам нужно получить красивое имя текущей категории. Вы можете получить текущую категорию с get_query_var( 'cat') и из этого вы можете получить красивое имя

 $category = get_query_var( 'cat' ); $post_cat = $category->category_nicename; 

Как и выше, просто используйте $post_cat в своем классе. Надеюсь, это ответит на ваш вопрос