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

WordPress中如何加载分类法的富文本/格式化描述

WordPress中如何加载分类法的富文本/格式化描述

嗨,我明白你现在遇到的问题啦!刚接触WordPress和ACF的时候确实会碰到这类小坑,别担心,咱们来一步步解决它~

你现在的核心问题是:直接输出$term->description时,WordPress默认会把HTML标签转义成纯文本,导致你用富文本编辑器编辑的格式(换行、链接、HTML样式等)都没法正常显示。这里有两个简单有效的解决方案:

方案一:使用wp_kses_post()函数保留安全HTML

这个函数会自动保留所有WordPress允许的安全HTML标签(比如<p>、<br>、<a>、<strong>这些),同时过滤掉危险的代码,非常适合输出用户编辑的富文本内容。

修改你的代码如下:

<?php
$terms = get_the_terms(get_the_ID(), 'locatie'); // 获取文章关联的分类项
if ($terms && !is_wp_error($terms)) :
    foreach ($terms as $term) : ?>
        <h2><?php echo ($term->name); ?></h2>
        <p><?php echo wp_kses_post($term->description); ?></p>
    <?php endforeach;
endif;
?>

方案二:使用the_content过滤器处理内容

如果你希望分类描述像文章正文一样自动处理换行(把普通换行转换成<p>标签),同时支持短代码解析等功能,可以用apply_filters('the_content', $term->description)来处理。注意这时候可以去掉外面的<p>标签,因为过滤器会自动生成段落:

<?php
$terms = get_the_terms(get_the_ID(), 'locatie'); // 获取文章关联的分类项
if ($terms && !is_wp_error($terms)) :
    foreach ($terms as $term) : ?>
        <h2><?php echo ($term->name); ?></h2>
        <?php echo apply_filters('the_content', $term->description); ?>
    <?php endforeach;
endif;
?>

额外提示

因为你已经安装了支持富文本编辑分类描述的插件,只要插件正确把格式化内容保存到数据库中,上面的方法就能正常显示富文本啦。如果还是没有效果,可以去数据库的wp_terms表(你的数据库前缀可能不同)里,检查对应分类的description字段是否真的存储了带HTML标记的内容。

备注:内容来源于stack exchange,提问作者Casper Boon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 10:17:59