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);
希望对您有所帮助
段
我想获取传递给原始 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);
希望对您有所帮助
段