Contact Form 7客户提交表单时间如何获取?

在 Contact Form 7 中获取客户提交表单的时间,有几种方法可以实现:

方法一:使用 Contact Form 7 的特殊邮件标签

在邮件模板中使用 [_date] 和 [_time] 标签:

text

提交日期:[_date]
提交时间:[_time]

你还可以自定义日期时间格式:

text

[_date "Y-m-d"]
[_time "H:i:s"]

方法二:使用 functions.php 添加时间字段

在主题的 functions.php 文件中添加:

php

// 添加提交时间到表单数据
add_filter('wpcf7_posted_data', 'add_submission_time_to_cf7');
function add_submission_time_to_cf7($posted_data) {
    $timezone = get_option('timezone_string');
    if (empty($timezone)) {
        $timezone = 'UTC';
    }
    
    date_default_timezone_set($timezone);
    
    $posted_data['submission_date'] = date('Y-m-d');
    $posted_data['submission_time'] = date('H:i:s');
    $posted_data['submission_datetime'] = date('Y-m-d H:i:s');
    
    return $posted_data;
}

// 在邮件中使用这些字段

然后在邮件模板中使用:

text

提交日期:[submission_date]
提交时间:[submission_time]
完整时间:[submission_datetime]

方法三:在表单中添加隐藏字段

在 Contact Form 7 表单中添加隐藏字段:

html

[hidden submission_date default:shortcode_attr]

[hidden submission_time default:shortcode_attr]

[hidden submission_datetime default:shortcode_attr]

然后在 functions.php 中添加:

php

// 为隐藏字段提供默认值
add_filter('shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3);
function custom_shortcode_atts_wpcf7_filter($out, $pairs, $atts) {
    $timezone = get_option('timezone_string') ?: 'UTC';
    date_default_timezone_set($timezone);
    
    $my_attr = array(
        'submission_date' => date('Y-m-d'),
        'submission_time' => date('H:i:s'),
        'submission_datetime' => date('Y-m-d H:i:s')
    );

    foreach ($my_attr as $name => $default) {
        $out[$name] = isset($atts[$name]) ? $atts[$name] : $default;
    }
    
    return $out;
}

方法四:存储到数据库时记录时间

如果你使用 Contact Form 7 到数据库的插件(如 Flamingo),可以在存储时添加时间戳:

php

add_filter('flamingo_inbound_message_meta', 'add_submission_time_to_flamingo');
function add_submission_time_to_flamingo($meta) {
    $meta['submission_timestamp'] = current_time('timestamp');
    $meta['submission_datetime'] = current_time('mysql');
    return $meta;
}

推荐使用方法一

对于大多数用户,方法一是*简单实用的,只需要在邮件模板中添加:

text

表单提交于:[_date] [_time]

或者自定义格式:

text

提交时间:[_date "Y年m月d日"] [_time "H时i分"]

这样就能在收到的邮件中看到客户提交表单的具体时间了。

滚动至顶部
扫描微信二维码联系我们 关闭