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

如何修改WordPress代码将内容#标签转为Tag时自动去除#符号

修改后的完整代码

function post_published_notification( $ID, $post ) {
    $content = $post->post_content;
    // 调整正则捕获组,直接提取#后的标签文本
    preg_match_all('/( #(\w+))/', $content, $matches, PREG_PATTERN_ORDER);
    if(isset($matches[2])){
        foreach($matches[2] as $matchKey){
            wp_set_post_tags( $ID, trim($matchKey), true);
        }
    }
}
add_action( 'publish_post', 'post_published_notification', 10, 2 );

修改说明

  • 原有正则只捕获了包含空格、#、标签文本的完整字符串,我们通过新增一层括号捕获#后的\w+内容,$matches[2]数组中存储的就是不带#的纯标签文本,直接遍历使用即可。
  • 如果你不想调整正则,也可以在原有代码基础上处理匹配结果,修改遍历逻辑即可:
    foreach($matches[1] as $matchKey){
        // 先去除首尾空格,再删除开头的#符号
        $tag = ltrim(trim($matchKey), '#');
        wp_set_post_tags( $ID, $tag, true);
    }
    

两种方案都能实现需求,优先推荐修改正则的方案,逻辑更清晰性能也更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 13:54:02