在模板之前设置wordpress查询

时间:2016-11-10 22:44:25

标签: wordpress

我有一个业务目标迫使我尝试在确定URL之后但在模板开始在原始帖子的上下文中输出变量之前更改全局wordpress查询。我需要能够使用插件检查原始帖子上的一些元值,然后更改查询以表示另一个帖子对象,以显示不同的数据而不更改URL。

我尝试过使用setup_postdata()似乎无处不在。

(tried including wp_reset_query();)
global $post;
$post = get_post(145, OBJECT );
setup_postdata($post);

但是,模板仍在输出原始查询。

我对其他解决方案持开放态度。提前谢谢。

1 个答案:

答案 0 :(得分:0)

add_action('wp_loaded', function(){
    query_posts(array('p'=>145,'post_type' =>'any'));
});

这很好。它几乎可以在任何地方添加。但是,它会混淆页面模板,并显示页面,好像它们是单个.php!如果我可以解决这个问题,那么我就会处于良好的状态。帮助

编辑:搞定了。我必须检查并使用p作为帖子,使用page_id作为页面。只要设置了这些,模板就会正确遵循。否则,它试图将标准帖子模板应用于页面。