Мне нужно на лету поправить запрашиваемый пост, делаю приблизительно так
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' );
....