Return query_posts 中使用的所有参数用于另一个 WP_Query

Return all args used in query_posts for use in another WP_Query

我想获取传递给原始 query_posts(主循环)的所有参数,并能够修改它们以便在另一个辅助循环中使用。例如,如果主循环传递了一大堆参数,我想将它们全部抓取,修改其中一个参数,比如 'post_type' 并将其更改为另一种类型,然后重新 运行二次循环中的查询。

显然我已经可以设置辅助循环并将我自己的参数传递给它,但我想使用在主循环中传递的相同参数。所以我需要一些函数或方法来 return 在主循环中传递的所有参数,有人知道吗?

参数存储在全局 $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);

希望对您有所帮助