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

WordPress文章分类调用结果恢复为无序列表格式的解决方法

问题根因

该问题是WordPress 6.1+版本对the_category()函数的输出规则调整导致:

  • 旧版本下,无论是否传入参数,只要分隔符参数为空,函数就会自动生成带post-categories类的<ul>无序列表结构
  • 新版本下,只要调用函数时传入了分隔符参数(哪怕是未赋值的空变量,就像你原有代码里写的$separator这类未定义变量),函数就会切换为纯文本拼接输出模式,不再生成列表标签,最终呈现为连续单行文本。
修复方法

二选一即可,都能恢复原有列表效果:

方法1:最简修改(无需自定义结构)

直接把原有分类调用代码替换为无参数调用的版本即可,函数会自动输出和历史版本完全一致的列表结构:

<p><b>This farm/business falls under the following categories:</b></p>
<?php the_category(); ?>

注意:调用时不要给函数传任何参数,只要传入第一个分隔符参数,就会触发纯文本输出模式。

方法2:自定义硬编码列表结构(兼容性最高)

如果需要固定输出结构、避免后续WordPress更新再次改动输出格式,可以直接手动写列表结构循环输出分类,代码如下:

<p><b>This farm/business falls under the following categories:</b></p>
<ul class="post-categories">
<?php
$current_categories = get_the_category();
foreach ($current_categories as $cat) {
    echo '<li><a href="' . esc_url(get_category_link($cat->term_id)) . '">' . esc_html($cat->name) . '</a></li>';
}
?>
</ul>

这段代码输出的HTML结构和你查到的历史渲染结构完全一致,不会随WordPress核心更新变动。

后续操作

替换模板代码后,如果站点安装了缓存插件/服务器开启了页面缓存,先清空缓存再刷新页面即可看到恢复后的列表效果。

内容的提问来源于stack exchange,提问作者designer77

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:48:53