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

如何使用get_the_category显示带链接的分类名称?代码段仅该部分异常

嘿,这事儿好办!get_the_category() 本身返回的是当前文章的分类对象数组,咱们只需要遍历这个数组,把每个分类的名称和对应的链接拼接起来就行,还能顺便处理好安全和格式问题。

给你个直接能用的代码片段:

// 获取当前文章的所有分类
$categories = get_the_category();

// 先检查有没有分类,避免空数组报错
if ( ! empty( $categories ) ) {
    // 遍历每个分类
    foreach ( $categories as $category ) {
        // 拼接带链接的分类名,记得用安全函数转义内容
        echo '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" rel="category tag">' . esc_html( $category->name ) . '</a>';
        
        // 如果不是最后一个分类,加个分隔符(比如逗号),让排版更舒服
        if ( next( $categories ) ) {
            echo ', ';
        }
    }
}

这里几个关键点得提一下:

  • esc_url() 和 esc_html() 是必须的,能防止XSS攻击,保证输出的内容安全;
  • get_category_link( $category->term_id ) 是通过分类的ID拿到它的归档页面链接;
  • 那个分隔符的判断是为了避免最后一个分类后面多出来个逗号,细节控狂喜😉

要是你想给分类链接加个自定义CSS类,比如post-category,直接改a标签就行:

echo '<a class="post-category" href="' . esc_url( get_category_link( $category->term_id ) ) . '" rel="category tag">' . esc_html( $category->name ) . '</a>';

把这段代码替换你原来的get_the_category相关部分,应该就能正常显示带链接的分类名称啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:18:57