在WordPress页面模板中显示特定用户使用的标签列表
实现特定用户关联标签列表的优化方案
嘿,你这段代码已经找对方向啦!它确实能帮你展示ID为2的作者关联到offer自定义文章类型的所有标签(包括未被使用的)。不过我们可以让它更健壮、更符合WordPress的开发规范,我帮你调整了一下:
<?php // 获取指定作者关联到offer类型文章的所有标签(包含未使用的) $tags = get_tags(array( 'hide_empty' => false, 'post_type' => 'offer', 'author' => 2 )); // 检查是否存在标签,避免输出空列表 if (!empty($tags)) { echo '<ul class="author-tags">'; foreach ($tags as $tag) { // 给标签添加跳转链接,同时转义内容保障安全 echo '<li><a href="' . esc_url(get_tag_link($tag->term_id)) . '">' . esc_html($tag->name) . '</a></li>'; } echo '</ul>'; } else { echo '<p>该用户暂无相关标签</p>'; } ?>
优化的几个关键点:
- 空状态处理:添加了
!empty($tags)的判断,避免没有标签时输出空的<ul>,让页面结构更严谨 - 安全加固:用
esc_html()转义标签名称、esc_url()转义链接地址,防止XSS攻击,这是WordPress开发的最佳实践 - 体验升级:给每个标签加上了对应的归档页面链接,用户点击就能查看该标签下的相关内容
- 样式友好:给外层
<ul>加了author-tags类名,方便你后续用CSS自定义标签列表的样式 - 代码可读性:通过换行和缩进格式化代码,后续维护起来更轻松
一些实用扩展:
- 如果要展示当前登录用户的标签,把
'author' => 2改成'author' => get_current_user_id()即可 - 要是只想展示该用户实际使用过的标签,把
'hide_empty' => false改成'hide_empty' => true就行
内容的提问来源于stack exchange,提问作者mischiefbec
相关产品推荐
相关产品推荐

