0

我查看了堆栈溢出,但看不到类似的东西。我已经尝试了一些东西,但仍然无法让它工作。

我试图在这段代码之后显示其他内容,但它没有出现。当我将它移到这段代码上方时,它可以正常工作,所以我认为下面的代码仍在停止。有人可以告诉我如何停止循环,然后继续显示我需要显示的内容。

谢谢。

代码如下,我需要停止循环

<?php $pst = get_posts(array('numberposts' => 2, 'post_type' => 'testimonials', 'orderby' => 'menu_order', 'order' => 'ASC' )); foreach($pst as $post): setup_postdata($post); ?>
  <li>
    <?php the_post_thumbnail('testimonial-thumb'); ?>
    <?php the_content(); ?>
    <h5><?php the_field('testimonial_name'); ?>
    <span><?php the_field('testimonial_job_position'); ?>, <?php the_field('testimonial_company'); ?></span>
    </h5>
  </li>
<?php endforeach; ?>
4

1 回答 1

1

您没有提供足够的信息来准确诊断您的问题,但基于它在上面foreach但不在之后起作用的事实,您的问题似乎与$postWordpress 中的全局对象有关。

尝试wp_reset_postdata();在该endforeach;行之后添加。

这会将$post对象恢复为该页面的对象,而不是返回的最后一个 post 对象get_posts()setup_postdata()本质上,它只是在通话后清理。如果不这样做,依赖于$post对象的模板标签和函数将无法按预期运行。

于 2013-11-07T15:09:54.820 回答