从docs:
$query
Holds the query string that was passed to the $wp_query object by WP class.
$query_vars
An associative array containing the dissected $query: an array of the query variables and their respective values.
但是当我做这样的事情时:
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
'post_status' => 'publish'
);
$author_query = new WP_Query( $args );
然后从
$query_vars
中可以看到所有这些参数都传递给print_r($wp_query)
,所以这里$query
的目的是什么,以及如何调整此属性的值。我很好奇,因为当我转到作者模板时,此页面内的
query
属性包含类似[author_name] => admin
的内容? 最佳答案
$query
是一个数组,其中包含调用WP_Query
时传递的值,即您的自定义值。$query_vars
是一个数组,其中包含WP_Query
支持的所有参数,包括调用WP_Query
时使用的参数以及其余带有默认值的参数。
编辑:看到author_name
集合的原因是Wordpress从URL获取值,但是您可以使用自定义查询或某些过滤器来传递它。当Wordpress在网址中检测到该参数时,会自动匹配正确的模板,您可以在template hierarchy中看到其工作原理