Поддержка Проблемы и решения Как взять по 1 посту из каждой рубрики?

  • Добрый день. Нужно вывести на странице по 1 записи из каждой категории, т.е. чтобы если 6 категорий, то вывелось бы 6 записей по 1 из каждой категории (или субкатегорий 1 категории).
    Как это можно реализовать, может быть кто-то даст кусочек кода?

    зап1 зап2 зап3 зап4
    кат1 кат2 кат3 кат4

    Спасибо

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Например, так:

    <?php
    $categories = get_categories();
    foreach ( $categories as $category ) :
    	$my_posts = get_posts("numberposts=1&category={$category->term_id}");
    	foreach ( $my_posts as $post ) :
    	    setup_postdata($post);
    ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php
    	endforeach;
    endforeach;
    ?>

    Если нужна только ссылка и заголовок, setup_postdata($post) можно убрать.

    Спасибо, Сергей ))) то, что нужно.

    Нужно убрать из общего списка несколько категорий, можно ли убрать категорию по ID, чтобы как exclud работало?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Из этого списка или какого-то другого? 🙂

    Из этого.
    Не знаю насколько правильно, просто вставил условие сейчас.

    <?php
    		$categories = get_categories();
    		foreach ( $categories as $category ) :
    
    		if ($category->term_id == 1) {
    			continue;
    		}
    		if ($category->term_id == 3) {
    			continue;
    		}
    
    			$my_posts = get_posts("numberposts=1&category={$category->term_id}");
    			foreach ( $my_posts as $post ) :
    			    setup_postdata($post);
    		?>
    		<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    		<?php
    			endforeach;
    		endforeach;
    		?>
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно добавить параметр exclude в первую строчку:

    $categories = get_categories('exclude=1,3');

    Благодарю за помощь, Сергей 😉

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Успехов! 🙂

    Спасибо )

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Как взять по 1 посту из каждой рубрики?» закрыта для новых ответов.