波纹管功能工作正常,但我需要在循环内运行它.如果这样做,帖子内容实际上取自我的WP_Query的最后一篇文章.不是应该出现的那个.
有没有办法运行我的查询并让The Loop不受影响?
function recent_post_by_author() {
echo '<div class="recent_post_by_author">';
$my_query = new WP_Query('author_name=Radek&showposts=2');
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a><BR>
<?php endwhile;
echo '</div>';
}
Run Code Online (Sandbox Code Playgroud)
Nat*_*ook 11
解决这个问题的方法是在循环完成单独的WP_Query实例后调用wp_reset_postdata.
问题出现了,因为WordPress使用一个全局$post变量,只要the_post()对任何WP_Query对象进行调用就会设置该变量.当您从2-posts-from-Radek查询中调用它时,它会丢失原始WP_Query对象的跟踪.
在函数中包含新查询时,您是否缺少一些 php 开始和结束标记?这作为一个独立的新查询循环工作,可以在主 WP 循环内多次使用:
<?php $my_query = new WP_Query('author_name=Radek&showposts=2'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
<?php endwhile; ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6505 次 |
| 最近记录: |