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

如何修改CF7钩子代码,排除邮箱与URL字段不转大写?

排除EMAIL和URL字段的大写转换修改方案

原代码会把所有用户输入转成大写,要排除EMAIL和URL字段,只需要在逻辑里增加字段类型判断即可,修改后的完整代码如下:

add_filter( 'wpcf7_mail_tag_replaced',
  function( $replaced, $submitted, $html, $mail_tag ) {
    // 获取当前字段的类型
    $field_type = $mail_tag->get_type();
    
    // 若字段是EMAIL或URL类型,直接返回原始内容不转换
    if (in_array($field_type, ['email', 'url'])) {
      return $replaced;
    }
    
    // 其他字符串类型字段转为大写
    if ( is_string( $submitted ) ) {
      $replaced = strtoupper( $submitted );
    }

    return $replaced;
  },
  10, 4
);

关键修改说明

  • $mail_tag->get_type():调用Contact Form 7内置方法,获取当前字段的类型(比如text、email、url)
  • in_array(...):检查当前字段是否属于要排除的类型,若是直接返回原始提交内容,跳过大写转换
  • 原有的字符串大写转换逻辑保留,只作用于非EMAIL、非URL类型的字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:09:24