这需要一些尝试和错误,但我想我明白了。我得到了一个无限循环,直到我加上suppress_filters
. 在那之后,工作时间很短。
function insert_post_wpse_96347($posts) {
global $wp_query;
$desired_post = 151;
if (is_main_query() && is_home() && 0 == get_query_var(\'paged\')) {
$p2insert = new WP_Query(array(\'p\'=>$desired_post,\'suppress_filters\'=>true));
$insert_at = 3;
if (!empty($p2insert->posts)) {
array_splice($posts,$insert_at,0,$p2insert->posts);
}
}
return $posts;
}
add_filter(\'posts_results\',\'insert_post_wpse_96347\');
这将迫使我硬编码的帖子进入位置3,再次硬编码。我不知道您是如何保存或计划保存配置值的,但这是基本的“插入”功能。这会将第一页的post计数增加到配置值以上,但在其他情况下,我可以确定的是会保留正常分页。它经过测试,但几乎没有。