如何使用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
相关产品推荐
相关产品推荐

