Как вывести заголовки записей по меткам?
Нужно на главной странице вывести заголовки записей метки. Например, HTML такого вида:
<h2>Название метки 1</h2> <a href='#'>заголовок</a> <a href='#'>заголовок</a> <a href='#'>заголовок</a> <h2>Название метки 2</h2> <a href='#'>заголовок</a> <a href='#'>заголовок</a> <a href='#'>заголовок</a> <h2>Название метки 3</h2> <a href='#'>заголовок</a> <a href='#'>заголовок</a> <a href='#'>заголовок</a>
и так далее...
С какой метки начинать не имеет значения. Количество заголовков не ограничено.
// Получаем все метки сайта, в которых есть хотя бы 1 запись $tags_list = get_tags(); // Проверяем, если метки вообще if( $tags_list ){ // Начинаем из списка полученных меток брать по 1 метке и обрабатывать foreach($tags_list as $tag_item){ // Выводим заголовок метки в h2 printf('<h2>%s</h2>', $tag_item->name); // Получаем все записи с данной меткой $posts_in_tag = get_posts( array( 'posts_per_page' => -1, 'tag' => $tag_item->slug ) ); // Начинаем обработку массива постов без проверки на наличие, так как при запросе меток у нас указано, чтобы они были с постами foreach($posts_in_tag as $post){ setup_postdata($post); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <? } wp_reset_postdata(); } }Используйте две функции:
get_terms()- получите все метки
Через foreach обходите массив, и в цикле получаете заголовки через get_posts()