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

如何在自定义文章类型research中显示可点击的topics分类列表?

嘿,这个问题很好解决!你只需要在content-research.php里加一段适配你自定义分类的代码就行,我给你写好了直接能用的版本:

具体实现步骤

直接在content-research.php文件中你想要展示分类列表的位置(比如文章标题下方、正文开头或结尾)插入以下代码:

<?php
// 获取当前research文章所属的topics分类
$assigned_topics = get_the_terms( get_the_ID(), 'topics' );

// 检查是否成功获取到分类,且没有错误
if ( $assigned_topics && ! is_wp_error( $assigned_topics ) ) : ?>
    <div class="research-topics-container">
        <span class="topics-title">所属主题:</span>
        <ul class="topics-list">
            <?php foreach ( $assigned_topics as $topic ) : ?>
                <li>
                    <a href="<?php echo esc_url( get_term_link( $topic ) ); ?>" 
                       title="<?php echo esc_attr( sprintf( '浏览所有%s主题的文章', $topic->name ) ); ?>">
                        <?php echo esc_html( $topic->name ); ?>
                    </a>
                </li>
            <?php endforeach; ?>
        </ul>
    </div>
<?php endif; ?>

代码细节说明

  • get_the_terms( get_the_ID(), 'topics' ):核心函数,第二个参数topics必须和你注册自定义分类时的slug完全匹配,这样才能精准获取到对应分类。
  • 先做了错误判断,避免没有分类时出现报错。
  • 用esc_url()、esc_attr()、esc_html()做了安全转义,这是WordPress开发的最佳实践,能防止XSS漏洞。

可选:美化样式

如果想让分类列表看起来更美观,可以在主题的CSS文件里添加这段样式:

.research-topics-container .topics-list {
    list-style: none;
    padding: 0;
    margin: 8px 0 16px;
}
.research-topics-container .topics-list li {
    display: inline-block;
    margin-right: 12px;
    background-color: #f5f5f5;
    padding: 4px 10px;
    border-radius: 6px;
}
.research-topics-container .topics-list li a {
    text-decoration: none;
    color: #333;
}
.research-topics-container .topics-list li:hover {
    background-color: #e0e0e0;
}

这样就能在research文章页面显示可点击的topics分类列表了,逻辑和你之前处理普通博客文章分类的方式一致,只是针对性替换了自定义分类的标识而已。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:52:56