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

WordPress如何移除标签名称中的URL

WordPress移除标签名称中URL的操作方法

根据标签数量和后续使用需求,可以选择以下两种方案:

方案1:手动单条修改(适合标签数量少于10个的场景)

  • 登录WordPress后台,依次进入「文章」→「标签」管理页
  • 找到包含URL的目标标签,点击「编辑」按钮
  • 清空「名称」字段中的URL内容,保留需要的标签文本后点击「更新」即可生效

方案2:代码自动过滤+批量处理(适合标签数量多、需要拦截后续新增标签URL的场景)

操作前务必先备份网站数据库,避免误操作导致数据丢失

  • 进入网站主题/子主题根目录,编辑functions.php文件
  • 粘贴以下代码到文件末尾:
// 新增标签时自动过滤名称中的URL
add_filter('pre_term_name', 'auto_filter_tag_url', 10, 2);
function auto_filter_tag_url($name, $taxonomy) {
    // 仅对文章标签生效,不影响分类、自定义分类法
    if ($taxonomy !== 'post_tag') return $name;
    // 正则匹配删除所有http/https/www开头的URL内容
    $name = preg_replace('/(https?:\/\/|www\.)\S+/i', '', $name);
    return trim($name);
}

// 一次性批量处理现有标签中的URL,执行1次后即可注释或删除本段代码
add_action('admin_init', 'batch_clean_existing_tags');
function batch_clean_existing_tags() {
    // 仅管理员登录后台时触发执行
    if (!current_user_can('manage_options')) return;
    $all_tags = get_terms([
        'taxonomy' => 'post_tag',
        'hide_empty' => false
    ]);
    foreach ($all_tags as $tag) {
        $cleaned_name = preg_replace('/(https?:\/\/|www\.)\S+/i', '', $tag->name);
        $cleaned_name = trim($cleaned_name);
        if ($cleaned_name !== $tag->name) {
            wp_update_term($tag->term_id, 'post_tag', ['name' => $cleaned_name]);
        }
    }
}
  • 保存文件后刷新一次WordPress后台页面,即可完成所有存量标签的批量清理
  • 批量处理完成后,可以删除batch_clean_existing_tags相关的代码段,避免重复执行浪费服务器资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:54:00