分类归档页在循环里查了相关文章,之后页脚上方突然重复出现最后一篇文章的标题和正文,每页都有,位置固定在分页下面。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,二次查询用了输出函数却没有重置全局文章变量,循环结束后全局变量停在最后一条,后续模板取到的就是它。嵌套循环里这个问题最明显。

碰到「归档循环未重置」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

$related = new WP_Query($args);
while ($related->have_posts()) { $related->the_post(); }
wp_reset_postdata();

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

具体做法是,二次查询结束后立刻重置全局文章变量;区分主查询和自定义查询的重置方式;把二次查询包进独立函数 减少全局污染。

最后用这个标准收尾,分页下方不再重复文章正文,页脚内容恢复正常。

作者 9823189