Важные сообщения в верхней части категории запросов - PullRequest
0 голосов
/ 19 февраля 2020

Я использую этот запрос на главной странице, чтобы отобразить три сообщения из указанных c категорий в wp_query. Статьи в запросе отображаются случайным образом.

Теперь посты, которые являются липкими, хотели бы остаться на вершине, а оставшиеся две статьи все равно будут распределяться случайным образом. Возможно ли это с помощью wp_query?

Этот фрагмент возвращает только одну заметку, а остальные статьи не отображаются. Почему?


           <?php

$args = array(
      'cat'=>'11, 12,20,24',
       'posts_per_page'=> '3',
       'post__in' => get_option( 'sticky_posts' ),
       'ignore_sticky_posts' => 1,
       'orderby'=> 'rand'
);

// Custom query.
$query = new WP_Query( $args );

// Check that we have query results.
if ( $query->have_posts() ) {

    // Start looping over the query results.
    while ( $query->have_posts() ) {

        $query->the_post();

        // Contents of the queried post results go here.

    }

}

// Restore original post data.
wp_reset_postdata();

?>

1 Ответ

0 голосов
/ 20 февраля 2020

Здесь вы можете использовать два запроса

1) для заметки

$args = array(
   'cat'=>'11, 12,20,24',
   'posts_per_page'=> '1',
   'post__in' => get_option( 'sticky_posts' ),
   'ignore_sticky_posts' => 1,
   'orderby'=> 'rand'
);

2) Другие записи

$args = array(
   'cat'=>'11, 12,20,24',
   'posts_per_page'=> '2',
   'ignore_sticky_posts' => 1,
   'orderby'=> 'rand'
);

3) Установить счетчик

 $count = 0;
 if ( $query->have_posts() ) {
   while ( $query->have_posts() ) {
   // added if condition here if($count == 1){}else{}
   $count++;
   }
}
...