#wordpress #random
#wordpress #Случайный
Вопрос:
Я делаю это, используя два WP_Queries . В первом я получаю одно сообщение, беру его идентификатор и использую его в качестве параметра исключения для следующего WP_Query lopp. Проблема в том, что я снова получаю исключенное сообщение, повторяясь во втором цикле. Мне действительно просто нужно показать избранное изображение и выдержку для первого элемента, а затем просто плитку для следующих трех (если у вас есть какие-либо предложения сделать все внутри того же WP_Query, пожалуйста, не стесняйтесь, скажите мне). Большое спасибо.
<div class="posts-by-cat">
<?php
$args = array(
'cat' => 34,
'posts_per_page' => 1,
'orderby' => 'rand',
);
$catquery = new WP_Query( $args );
while($catquery->have_posts()) : $catquery->the_post();
?>
<div class="featured-image">
<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
?>
</div>
<h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<p><?php the_excerpt(); ?></p>
<?php endwhile; ?>
<?php
$exclude = get_the_ID();
$args = array(
'cat' => 34,
'posts_per_page' => 3,
'orderby' => 'rand',
'exclude' => $exclude
);
$catquery = new WP_Query( $args );
// $catquery = new WP_Query( 'cat=34amp;posts_per_page=3amp;offset=1 );
?>
<ul class="postsbytag-listitem">
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<li>
<h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<!-- p><?php the_excerpt(); ?></p -->
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<ul>
</div>
Ответ №1:
Это должно выполнить работу:
<?php
$exclude = array();
?>
<div class="posts-by-cat">
<?php
$args = array(
'cat' => 34,
'posts_per_page' => 1,
'orderby' => 'rand',
);
$catquery = new WP_Query( $args );
while($catquery->have_posts()) : $catquery->the_post();
?>
<div class="featured-image">
<?php if ( has_post_thumbnail() ) {
// add post id to exclude array (needs to be in the first loop)
$exclude[] = get_the_ID();
the_post_thumbnail();
}
?>
</div>
<h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<p><?php the_excerpt(); ?></p>
<?php endwhile; ?>
<?php
$args = array(
'cat' => 34,
'posts_per_page' => 3,
'orderby' => 'rand',
'post__not_in' => $exclude
);
$catquery = new WP_Query( $args );
// $catquery = new WP_Query( 'cat=34amp;posts_per_page=3amp;offset=1 );
?>
<ul class="postsbytag-listitem">
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<li>
<h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<!-- p><?php the_excerpt(); ?></p -->
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<ul>
</div>