好,有时候我需要即时更改查询的帖子的某些部分。像这样
add_action('template_redirect', function () {
global $wp;
if ($wp->request=='clip' && something_special())
{
$clip = get_queried_object();
wp_update_post([
'ID' => $clip->ID,
'post_content' => new_post_content();
]);
}
});
但是问题是当前查询的帖子像以前查询的那样传递到了主题文件,所以新的帖子内容我只能在此页面的下一个帖子加载中看到。
在主题中使用了通用循环逻辑:
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', 'single' );
....
如何用同一个对象替换当前选择,使其进入循环?