Negatiff
@Negatiff
Делаю сайты

Как вывести последнюю запись из каждой рубрики с возможностью принудительного вывода?

Здравствуйте. Есть задача:
Вывести по одной записи из каждой рубрики, с возможностью принудительного вывода.
Должен быть чекбокс, который переопределит, что выводим не последнюю запись, а какую-то конкретную.

Пока что реализовал следующим образом:
Создал через Advanced Custom Fields пять вкладок, в каждой вкладке чекбокс последняя запись/выбрать запись
b88fe52b34454e57a4feed9dca300983.jpg

и вывожу все это дело вот так:

<?php 
    $args = array( 'posts_per_page' => 1, 'post_type'=> 'page', 'include' => 127 ); //забираем ту самую страницу, в которой добавлял вкладки
    $myposts = get_posts( $args );
    foreach ( $myposts as $post ) : setup_postdata( $post );
        if( get_field('news_last') ) //если "последняя запись"
        {
            $args = array( 'posts_per_page' => 1, 'category' => 19 ); // выводим последнюю запись из категории.
            $lastposts = get_posts( $args );
            foreach($lastposts as $post) : setup_postdata($post);
                the_title();
            endforeach;
            wp_reset_postdata();
        }
        else // Если какая-то запись выбрана
        {
            $news_item = get_field('news_item'); //то забираем её и выводим
            if( $news_item ):
                foreach( $news_item as $post):
                    setup_postdata($post);
                        the_title();
                    endforeach; 
                wp_reset_postdata();
            endif;
        }
    endforeach;
    wp_reset_postdata();
?>


И так 5 раз для пяти категорий. Ужасно, неудобно и куча лишних запросов к бд. Прекрасно понимаю. Потому прошу подсказать более изящное решение для этой задачи. Я думаю что я просто глубоко зарылся и все намного проще :)
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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