Получить название категории и ссылку категории внутри цикла в WordPress

Есть ли способ получить название категории и ссылку на страницу категории отдельно внутри цикла wordpress . У меня тоже нет идентификатора категории, и я хочу отображать изображения вместо имен категорий, поэтому the_category () не работает для меня.

благодаря

Цените все ответы ..

get_the_category() работает в LOOP. Используя это, вы получите массив объекта категории для каждого сообщения, которое в настоящий момент обрабатывает цикл. пример :

 //the loop $categories = get_the_category(); //the loop cont.... var_dump($categories); array 0 => object(stdClass)[191] public 'term_id' => &string '1' (length=1) public 'name' => &string 'Uncategorized' (length=13) public 'slug' => &string 'uncategorized' (length=13) public 'term_group' => string '0' (length=1) public 'term_taxonomy_id' => string '1' (length=1) public 'taxonomy' => string 'category' (length=8) public 'description' => &string '' (length=0) public 'parent' => &string '0' (length=1) public 'count' => &string '1' (length=1) public 'object_id' => string '66' (length=2) public 'cat_ID' => &string '1' (length=1) public 'category_count' => &string '1' (length=1) public 'category_description' => &string '' (length=0) public 'cat_name' => &string 'Uncategorized' (length=13) public 'category_nicename' => &string 'uncategorized' (length=13) public 'category_parent' => &string '0' (length=1) 1 => object(stdClass)[190] public 'term_id' => &string '3' (length=1) public 'name' => &string 'asd' (length=3) public 'slug' => &string 'asd' (length=3) public 'term_group' => string '0' (length=1) public 'term_taxonomy_id' => string '3' (length=1) public 'taxonomy' => string 'category' (length=8) public 'description' => &string '' (length=0) public 'parent' => &string '0' (length=1) public 'count' => &string '1' (length=1) public 'object_id' => string '66' (length=2) public 'cat_ID' => &string '3' (length=1) public 'category_count' => &string '1' (length=1) public 'category_description' => &string '' (length=0) public 'cat_name' => &string 'asd' (length=3) public 'category_nicename' => &string 'asd' (length=3) public 'category_parent' => &string '0' (length=1) 

теперь вы можете проходить через каждую категорию, например

 foreach($categories as $category){ echo $category->name; //category name $cat_link = get_category_link($category->cat_ID); echo '<a href="'.$cat_link.'">'.$category->name.'</a>'; // category link } 

Вы можете использовать:

 $category = get_the_category(); echo '<a href="'.get_category_link($category[0]->cat_ID).'"><img src="'.$category[0]->cat_name.'" alt="'.$category[0]->cat_name.'" /></a>'; 

Я думаю, это поможет вам

Или:

 foreach(get_the_category() as $category) { echo '<a href="'.get_category_link($category->cat_ID).'"><img src="'.$category->cat_name.'" alt="'.$category->cat_name.'" /></a>'; } 

С get_the_category () вы получаете категорию, а с помощью get_category_link () вы получите ссылку категории.

Я надеюсь, это поможет вам 🙂

В цикле

 <?php global $post; $categories = get_the_category($post->ID); $cat_link = get_category_link($category[0]->cat_ID); echo '<a href="'.$cat_link.'">'.$categories[0]->cat_name.'</a>' ?> 

Я думаю, что код Стратегии должен быть изменен следующим образом:

  <?php global $post; $categories = get_the_category($post->ID); $cat_link = get_category_link($categories[0]->cat_ID); echo '<a href="'.$cat_link.'">'.$categories[0]->cat_name.'</a>' ?> 

категория $ должна быть $ категориями, тогда она работает для меня

Этот код хорош, за исключением того, что вы забыли поставить другое; в конце ссылки

 echo <a href="'.$cat_link.'">'.$categories[0]->cat_name.'</a> 

должно быть

  echo '<a href="'.$cat_link.'">'.$categories[0]->cat_name.'</a>' ;