Woocommerce 返回查询文章中使用的所有参数,以便在另一个WP\U查询中使用

Woocommerce 返回查询文章中使用的所有参数,以便在另一个WP\U查询中使用,woocommerce,wordpress,Woocommerce,Wordpress,我想获取传递到原始query_posts主循环的所有参数,并能够修改它们以在另一个辅助循环中使用。例如,如果主循环传递了一大堆参数,我想将它们全部捕获,修改其中一个参数,比如“post_type”,并将其更改为另一个类型,然后在第二个循环中重新运行查询 显然,我已经可以设置二级循环并将自己的参数传递给它,但我希望使用与主循环中传递的参数完全相同的参数。所以我需要一些函数或方法来返回在主循环中传递的所有参数,有人知道吗?这些参数存储在全局$wp\u查询变量中。您可以使用$wp\u query->q

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


显然,我已经可以设置二级循环并将自己的参数传递给它,但我希望使用与主循环中传递的参数完全相同的参数。所以我需要一些函数或方法来返回在主循环中传递的所有参数,有人知道吗?

这些参数存储在全局$wp\u查询变量中。您可以使用$wp\u query->query\u 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);
希望有帮助


Dan

参数存储在全局$wp\u查询变量中。您可以使用$wp\u query->query\u 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);
希望有帮助

Dan

为什么不在运行主查询之前使用pre_get_posts来更改查询变量呢。据我所知,您希望通过创建辅助查询来替代主查询。这会降低页面速度并增加数据库调用为什么不在运行主查询之前使用pre_get_posts来更改查询变量呢。据我所知,您希望通过创建辅助查询来替代主查询。这将降低页面速度并增加数据库调用