Есть ли способ получить название категории и ссылку на страницу категории отдельно внутри цикла 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>' ;