WP Query с первым постом из набора указанных c категорий - PullRequest
0 голосов
/ 26 апреля 2020

Я потратил много времени на поиски того, чего хочу, и приведенный ниже код - лучшее, что я могу придумать. По сути, я хочу получить первый пост из двух или трех выбранных категорий, объединить их в один l oop и запустить его. Приведенный ниже код делает именно это, однако из того, что я понимаю, может быть довольно дорого запускать, чтобы вернуть только пару сообщений, так есть ли лучший способ сделать это или даже метод, с которым я просто не сталкивался?

<?php
$first = new WP_Query(array('fields' => 'ids','posts_per_page' => 1,'category_name' => 'one'));
$second = new WP_Query(array('fields' => 'ids','posts_per_page' => 1,'category_name' => 'two'));

$group = array_merge($first->posts,$second->posts);
$featured = new WP_Query(array('post__in' => $group));

while ( $featured->have_posts() ) : $featured->the_post();

endwhile  ?>

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Это решение, которое я собрал с тех пор, как задал вопрос. Работает просто отлично, но все еще открыт для любых других идей, если это все еще кажется дорогим запросом

$group = array('one','two','three');
foreach ( $group as $category ) {
$featured = new WP_Query(array('posts_per_page' => 1,'category_name' => $category));
while ($featured->have_posts()) { $featured->the_post(); }}
0 голосов
/ 28 апреля 2020

Поиск сообщений в любой из категорий:

$args = array(
    'category_name' => 'one,two'
);
$featured_query = new WP_Query( $args );
if ( $featured_query->have_posts() ) {
    // Start looping over the query results.
    while ( $featured_query->have_posts() ) {
        $featured_query->the_post();
        // Contents of the queried post results go here.
    }
}
wp_reset_postdata();

Поиск сообщений во всех категориях:

$args = array(
    'category_name' => 'one+two'
);
$featured_query = new WP_Query( $args );
if ( $featured_query->have_posts() ) {
    // Start looping over the query results.
    while ( $featured_query->have_posts() ) {
        $featured_query->the_post();
        // Contents of the queried post results go here.
    }
}
wp_reset_postdata();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...