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中看到其工作原理

07-24 09:37