这里有三个主要问题
1。这个$content
变量
此变量首先出现在此处:
$content .=get_the_title();
但它似乎是凭空而来的!计算机需要被明确地告知该做什么,你知道我的意思。在你使用它们之前,你必须告诉它,否则它不会知道你的意思。
在这种情况下,PHP将在错误日志中生成一个警告/通知,然后将其替换为""
或空值。这是PHP试图提供帮助,但它会很快填充您的PHP错误日志,并可能导致意外的问题和奇怪之处。
2。query_posts
从你的记忆中清除这个功能,用一千个太阳的火焰烧掉它的所有痕迹。该函数在日常使用中没有很好或有效的用途,这是一种破坏分页、降低页面速度并引发问题的好方法。
而是:
如果要更改页面上的帖子WP显示,请使用pre_get_posts
过滤器如果您对WP显示的帖子感到满意,但想查询额外的帖子集,可能是一个块或小部件,请使用WP_Query
和一个标准回路。e、 g.:
$q = new WP_Query( [
\'post_type\' => \'page\',
\'posts_per_page\' => 5,
]);
if ( $q->have_posts() ) {
while( $q->have_posts() ) {
$q->the_post();
// display this post
}
wp_reset_postdata(); // cleanup after ourselves
} else {
// nothing was found
}
上述查询将获取5页
3。返回语句和顺序
return
表示结束函数并传回此值。代码有一个非常重要的调用
wp_reset_query
, 但由于某种原因,它被放置在
return
语句,从而无法访问PHP。
因此,在进行清理之前,短代码就会退出。但是现在,主循环中只有一个帖子,现在有了所有帖子query_posts
改为拖动,因此它不会停止并继续到注释区域或页脚,而是返回并循环。
记住,秩序很重要。代码从上到下运行。代码所做的与这些购物说明等效:
买鸡蛋买牛奶不要再看这些说明书了,回家买面包吧,这就足够了。
杂项注释缩进缩进!一个好的代码编辑器会为您自动缩进,不要让代码不缩进,如果您缩进代码,不要在代码中硬编码post id和category id,那么就不可能有一整组bug和错误。因为您使用的是短代码,所以请将它们作为属性传入你可能想把你的标题用某种标签包起来,这样它们就不会在一行上被弄脏了。我看到你把你的帖子限制到了44篇,这很好!很多人使用-1
这对性能非常不利