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

WordPress未使用标签/分类无法显示问题及代码咨询

解决WordPress显示所有标签/分类(含未使用)的问题

嘿,我太懂这个痛点了——想把后台创建的所有标签、分类都列出来,但不管怎么试,只显示那些被发布文章关联过的,对吧?先给你拆解下问题根源,再直接给解决方案:

首先,你当前代码里的$posttags是当前文章专属的标签集合,它只会拉取这篇文章绑定过的标签,哪怕你后台堆了一堆未使用的标签,也不会被这个变量获取到。你之前用未发布文章绑定所有标签的思路行不通,因为WordPress默认逻辑里,未发布的文章不算“已使用”标签/分类的依据。

1. 修改标签代码:显示所有标签(含未使用)

把$posttags替换成get_tags()函数,这个函数默认会返回后台创建的所有标签,不管有没有被使用。修改后的完整代码如下:

// 获取所有标签(包括未使用的)
$all_tags = get_tags();
foreach($all_tags as $tag) { 
    $tag_name = $tag->name; 
    $input_name = $tag_name . get_the_ID(); 
    echo $tag_name. ': '; 
    echo '<input type="checkbox" name="'. $input_name .'">'; 
    echo str_repeat('&nbsp;', 4); 
}

如果需要筛选标签(比如排除特定ID的标签、按名称排序),可以给get_tags()传参数:

$all_tags = get_tags(array(
    'exclude' => array(1, 3), // 排除ID为1、3的标签
    'orderby' => 'name',      // 按标签名称排序
    'order' => 'ASC'          // 升序排列
));

2. 分类的解决方法:显示所有分类(含未使用)

分类的问题和标签类似,默认get_categories()只会返回有已发布文章的分类,所以必须加hide_empty=false参数来强制获取所有分类:

// 获取所有分类(包括未使用的)
$all_categories = get_categories(array(
    'hide_empty' => false, // 核心参数:不隐藏无文章的分类
    'orderby' => 'name',
    'order' => 'ASC'
));

foreach($all_categories as $category) {
    $cat_name = $category->name;
    $input_name = $cat_name . get_the_ID();
    echo $cat_name. ': ';
    echo '<input type="checkbox" name="'. $input_name .'">';
    echo str_repeat('&nbsp;', 4);
}

额外优化:标记当前文章已使用的标签/分类

如果你需要在复选框里标记出当前文章已经绑定的标签/分类,可以加个简单判断:
比如标签的判断逻辑,用has_tag()检查当前文章是否关联了该标签,给复选框加checked属性:

foreach($all_tags as $tag) { 
    $tag_name = $tag->name; 
    $input_name = $tag_name . get_the_ID();
    // 判断当前文章是否使用了这个标签
    $checked_status = has_tag($tag->term_id) ? 'checked' : '';
    echo $tag_name. ': '; 
    echo '<input type="checkbox" name="'. $input_name .'" '. $checked_status .'>'; 
    echo str_repeat('&nbsp;', 4); 
}

分类的话可以用has_category()函数,逻辑完全一致,这样既显示了所有选项,又能直观看到当前文章已选的内容~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:56:45