[英]WordPress get_posts() by ACF date field query returns nothing
[英]wordpress, why return $this->get_posts(); returns values?
我试图找出wordpress如何处理每个请求并返回结果。 我发现wp()
函数调用$wp->main()
,后者又调用$this->query_posts();
并在query.php
文件中调用$wp_the_query->query($this->query_vars)
函数。 query()
函数调用return $this->get_posts();
并返回结果。
我的问题是没有看到任何变量接收到这个返回值,所以为什么这个函数返回,即使wordpress工作,如果我从代码中删除返回。 那么这个回报的目的是什么,(我想这段代码将内容(帖子)保存到$this->posts
变量)。 顺便说一下我用的是wp 3.6
返回的使用与php
(也用于其他语言)有关,不仅仅是WordPress
。 当执行到达return statement
,该函数将停止并返回该值,而不再处理该函数。 一return
,没有值返回null,如果没有return
,在一个函数结束关键字,然后,在此情况下,一个null
得到返回的值。
在方法/函数末尾使用return
语句是一种很好的编码实践,它只是将执行控制返回到它开始的位置,它还防止PHP包含文件中的代码注入 。 另外, 检查一下 。
简答:还有其他功能使用返回值,主要是在主题和插件中,但也在WP核心中。 示例如下。
答案很长:
在wordpress中,WP_Query :: query()方法用于从数据库中获取帖子。 这是通过提供某些选择标准来完成的,即:query_vars。 根据这些帖子检索并提供这些帖子。
现在,在您提到的情况下,重要的是调用堆栈,即用于调用函数的路径。 即:
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。 所以fect的任何帖子取决于请求的页面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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.