为什么此函数在没有_POST的情况下不起作用?

时间:2020-06-14 作者:Lint

我是wordpress的初学者,在the_post(); 函数,显然它不执行任何可以可视化的操作,但如果我不调用这个函数,代码就会崩溃。谁能给我解释一下吗。虽然我有足够的编程语言知识,但这件事让我感到困惑。提前感谢帮手

while (have_posts()) {

    the_post(); ?>

    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>

<?php }

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

我只想引用一个简短但全面的,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_ 显示或检索/使用当前帖子中数据的函数。

相关推荐

如何在GET_POSTS()函数中通过某个页面的插件及其所有子页面获取页面ID数组?

我的主题中有一个自定义函数,可以创建动态sitemap.xml 文件我用的是$myVar = get_posts( array(...) ). 在该数组中,我需要排除一些页面。我想排除某些父页面及其所有子页面。我只想使用父页面slug来获取父页面和子页面的所有ID的数组。问题是:\'exclude\' => 在array() 仅接受ID数组。不是鼻涕虫。如何通过某种函数(或其他方式)通过父页面slug返回ID数组(包括父ID及其所有子项)来实现它?例如,假设父页面slug是abc.谢谢你了。