我想抓住传递给原始query_posts(主循环)的所有args,并能够修改它们以便在另一个辅助循环中使用。例如,如果主循环传递了一大堆args,我想全部抓住它们,修改其中一个args,比如说'post_type'并将其更改为其他类型,然后在辅助循环中重新运行查询。
显然我已经可以设置辅助循环并将自己的参数传递给它,但是我想使用在主循环中传递的相同的args。所以我需要一些函数或方法来返回主循环中传递的所有args,任何人都知道吗?
答案 0 :(得分:2)
参数存储在全局$wp_query
变量中。您可以使用$wp_query->query_vars
检索它们。所以对于你的情况你可以做这样的事情......
//Store the query vars in a variable
$query_vars = $wp_query->query_vars;
//Edit the tag_id
$query_vars['post_type'] = 'another-type';
//create new wp_query
$new_query = new WP_Query($query_vars);
希望有所帮助
丹