You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress循环展示用户文章时日期显示异常问题求助

这不是Bug,是the_date()的默认行为!

你遇到的问题完全是WordPress内置函数the_date()的设计逻辑导致的,不是bug,咱们一步步拆解清楚:

为什么只有第一篇文章显示日期?

the_date()有个特殊的默认规则:如果多篇文章的发布日期精确到天完全相同,它只会在第一篇同日期的文章旁输出一次日期,后续同日期的文章会自动跳过日期输出。如果你的所有测试文章都是同一天发布的,就会出现只有第一篇显示日期的情况——这是WordPress为了优化列表展示(避免重复显示相同日期)特意做的设计。

为什么显示的是当前日期而非文章实际日期?

这个大概率是因为the_date()在没有明确指定格式时,会调用WordPress默认的日期格式设置,但如果你的自定义查询($wpb_all_query)没有正确初始化全局文章对象,或者时区设置有偏差,就可能导致它误取当前日期。不过更可靠的解决方式是换用更直接的函数来获取文章日期。

修复方案

要让每篇文章都显示自己的实际发布日期,只需要把代码1里的<?php the_date(); ?>替换成以下任意一种写法:

写法1:用get_the_date()(推荐,更直观)

get_the_date()会直接返回当前文章的发布日期字符串,没有同日期去重的逻辑,你只需要echo输出它:

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php echo get_the_date(); ?></a></li>

如果需要自定义日期格式(比如年-月-日),可以给函数传参数:

<?php echo get_the_date('Y-m-d'); ?>

写法2:用the_time()指定日期格式

the_time()原本是用来输出时间的,但也可以用来输出日期格式,它同样会为每篇文章单独输出:

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php the_time('Y年m月d日'); ?></a></li>

为什么代码2没问题?

因为the_content()函数的逻辑就是直接输出当前文章的内容,没有像the_date()那样的同内容/同日期去重规则,所以每篇文章都能正常显示内容。

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:45:08