我只想引用一个简短但全面的,comment 在官方参考页上the_post():
作用the_post() 检查循环是否已启动,然后设置current post 每次移动到队列中的下一个帖子。
此外,此处的“当前职位”指的是WP_Query::$posts 这是WordPress查询返回的帖子数组。
例如,如果WP_Query::$posts 包含5项,第一次调用the_post() 将数组指针移动到该数组中的第一项,即。WP_Query::$posts[0]. 然后接下来的调用将指针移动到WP_Query::$posts[1], WP_Query::$posts[2] 依此类推,直到到达最后一项。
所以the_post() 实际上,它不显示或甚至不返回任何内容,但如果不调用该函数,您将陷入无限while 执行(&M);只要have_posts() 退货true (即,在WP_Query::$posts), 因此,正如您所看到的,页面将被打断。
还有一件事你应该知道,当前的帖子是由全球$post 所依赖的变量the_title(), the_content(), get_the_title() 和其他the_ 和get_the_ 显示或检索/使用当前帖子中数据的函数。