get_posts()
未修改主查询。问题是您正在覆盖全局$post
中的变量foreach
环我猜如果您在模板中,那么您与全局变量在同一范围内,不需要指定global $post;
为了实现这一点(就像在函数中一样)。重命名$post
在您的循环中,问题就会消失:
<?php if (have_posts()):the_post() ?>
<h3><?php the_title() ?></h3>
<?php if (!empty($someOtherPosts = get_posts([\'posts_per_page\' => 4]))): ?>
<ul>
<?php foreach ($someOtherPosts as $someOtherPost): ?>
<li><?php echo $someOtherPost->post_title ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<h3><?php the_title() ?></h3>
<?php endif; ?>