@dnl56

Как вывести список всех тегов(меток) и количество страниц с этой меткой?

Помогите разобраться, как вывести список меток и количество записей с этой меткой.

Чтобы получилось вот так: метка1(1), метка2(30), метка3(5)

т.е. 1 страница имеет метку1, метку2 имеет 30 страниц и т.д.
  • Вопрос задан
  • 4412 просмотров
Пригласить эксперта
Ответы на вопрос 2
Например с помощью этого плагина
Ответ написан
Комментировать
Без плагина, стандартная функция codex.wordpress.org/Function_Reference/wp_get_post_tags вовращает массив тегов для указанного ид страницы/поста

global $post;
$tags = wp_get_post_tags( $post->ID);
foreach($tags as $tag) {
   echo $tag['name'].'('.$tag['count'].')';
}


где $tags массив вида
Array
(
   [0] => stdClass Object
       (
           [term_id] => 4
           [name] => tag2
           [slug] => tag2
           [term_group] => 0
           [term_taxonomy_id] => 4
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 7
       )

   [1] => stdClass Object
       (
           [term_id] => 7
           [name] => tag5
           [slug] => tag5
           [term_group] => 0
           [term_taxonomy_id] => 7
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 6
       )

   [2] => stdClass Object
       (
           [term_id] => 16
           [name] => tag6
           [slug] => tag6
           [term_group] => 0
           [term_taxonomy_id] => 16
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 2
       )

)


Решение для всех тегов с количеством страниц
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
	$tag_link = get_tag_link( $tag->term_id );
			
	$html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
	$html .= "{$tag->name} ({$tag->count})</a>";
}
$html .= '</div>';
echo $html;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы