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

如何在Contact Form 7中无需日期选择器显示提交当日日期并禁用它

解决Contact Form 7日期字段默认显示当前日期并禁用选择器的问题

嘿,我来帮你搞定这个需求!要让Contact Form 7的日期字段自动显示提交当天的日期,同时禁用手动选择和输入,有两种靠谱的实现方式,你可以根据自己的技术偏好来选:

方法一:前端HTML+JavaScript实现(无需修改PHP)

这个方法适合不想碰后台PHP代码的用户,操作简单:

  1. 修改CF7日期字段短代码
    在你的表单编辑器里,给日期字段添加id、readonly属性,比如原本的短代码是[date* submission-date],改成:

    [date* submission-date id:submission-date readonly]
    
    • id:submission-date是给字段加唯一标识,方便JS定位;
    • readonly属性先禁止手动输入内容。
  2. 添加自定义JavaScript代码
    把下面的代码加到你的网站里(可以放在主题的footer.php末尾、外观->自定义->额外JS,或者用自定义HTML模块插入):

    document.addEventListener('DOMContentLoaded', function() {
      // 定位到我们的日期字段
      const dateField = document.getElementById('submission-date');
      if (dateField) {
        // 获取当前日期并格式化为YYYY-MM-DD(CF7要求的标准格式)
        const today = new Date();
        const formattedDate = today.toISOString().split('T')[0];
        // 给字段赋值当前日期
        dateField.value = formattedDate;
        // 彻底禁用日期选择器(部分浏览器会自带选择器,加disabled属性就能禁用)
        dateField.disabled = true;
      }
    });
    

方法二:PHP钩子函数实现(后台自动处理)

如果习惯用PHP代码实现,这种方式更稳定,不用依赖前端JS:

在你的主题functions.php文件(或者子主题的functions.php,避免主题更新丢失代码)里添加以下代码:

add_filter('wpcf7_form_elements', 'set_default_today_date_cf7');
function set_default_today_date_cf7($content) {
  // 替换成你实际的日期字段name,比如这里的submission-date
  $target_field = '[date* submission-date]';
  // 生成当前日期,格式为YYYY-MM-DD
  $today_date = date('Y-m-d');
  // 替换短代码,添加readonly、disabled属性和默认值
  $replaced_field = '[date* submission-date readonly disabled value="' . $today_date . '"]';
  $content = str_replace($target_field, $replaced_field, $content);
  
  return $content;
}

注意:一定要把代码里的submission-date替换成你表单里实际的日期字段名称!

小提示

  • 两种方法都保证了日期格式是YYYY-MM-DD,这是Contact Form 7默认的日期格式,能正常被表单接收和存储;
  • 测试的时候记得刷新页面,确认字段显示今天的日期,并且无法点击选择器、无法手动输入内容;
  • 如果用方法一,优先把JS代码放在主题的自定义JS区域,比直接改footer.php更安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:45:45