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

如何为登录用户在Easy Digital Downloads下载页隐藏ABC标签?

隐藏"ABC"下载标签的实现代码

要在前台标签列表中隐藏"ABC"标签,可通过WordPress的钩子函数实现。以下两种方案任选其一,添加到主题的functions.php文件即可:

方案1:过滤已获取的标签列表

该方法在系统返回标签数据前,过滤掉名称为"ABC"的标签:

add_filter( 'get_terms', 'remove_abc_download_tag', 10, 3 );
function remove_abc_download_tag( $terms, $taxonomies, $args ) {
    // 仅处理download_tag分类法的查询
    if ( ! in_array( 'download_tag', $taxonomies ) ) {
        return $terms;
    }

    // 筛选出非ABC的标签
    return array_filter( $terms, function( $term ) {
        // 若使用标签slug判断,替换为 $term->slug !== 'abc'
        return $term->name !== 'ABC';
    } );
}

方案2:在查询阶段直接排除标签

该方法更高效,直接让数据库查询时就排除"ABC"标签:

add_action( 'pre_get_terms', 'exclude_abc_download_tag_from_query' );
function exclude_abc_download_tag_from_query( $query ) {
    // 仅针对前台的download_tag查询生效
    if ( is_admin() || $query->query_vars['taxonomy'] !== 'download_tag' ) {
        return;
    }

    // 获取ABC标签的ID(可根据实际情况用slug替换name)
    $abc_term = get_term_by( 'name', 'ABC', 'download_tag' );
    if ( $abc_term && ! is_wp_error( $abc_term ) ) {
        $query->query_vars['exclude'][] = $abc_term->term_id;
    }
}

注意事项

  • 若你的"ABC"标签使用的是自定义slug(比如abc),请将代码中的name替换为slug,对应值改为实际slug。
  • 上述代码会在所有前台展示download_tag的场景中隐藏"ABC"标签,包括标签云、产品详情页的标签列表等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 02:50:29