简短回答:还有其他函数使用返回值,主要在主题和插件中,但也在 WP 核心中。下面给出例子。
长答案:
在 wordpress 中,WP_Query::query() 方法用于从数据库中获取帖子。这是通过提供某些选择标准来完成的,即:query_vars。检索和提供帖子的依据。
现在,在您提到的情况下,重要的是调用堆栈,即用于调用函数的路径。IE:
wp() --->
[WP->main()]-->
WP->query_posts() {here the query is
called on the global
wp_query Object}
-->WP_Query->query()
在 WP->main() 中,调用 parse_request 方法,它从 REQUEST_URI 创建 query_vars。因此,无论发布什么帖子都取决于请求的页面 URL。即选择的标准由请求页面的url 提供。并且由于在全局 wp_query 对象上调用了查询方法,因此无需返回它。这形成了主要路径,即:全局 wp 查询和请求 uri 查询变量。
但是在某些情况下,例如在主题、插件中,当您需要获取其他帖子时。您将创建一个新的 wp 查询对象,并使用查询方法。例如:获取 'john' 的所有帖子。在这些情况下,使用查询方法返回的值。
$wpquery = new Wp_query();
posts = $wpquery->query("author_name=john");
一些使用它的功能:
wp_nav_menu_item_post_type_meta_box /wp-admin/includes/nav-menu.php
wp_link_query /wp-includes/class-wp-editor.php