如何枚举cf7中的表格?

How to enumerate the forms in cf7?

我是网页设计的新手。我正在使用联系表格 7 为我们的会议创建注册表。

我想做的就是,在他们注册参加会议后,我需要为他们提供一个唯一的 ID,并且应该使用这个唯一的 ID 来识别更多的表格。

到目前为止,我已经安装了联系表 7 和 contact form dtx 为此,我尝试了 Koen de Bakker 生成随机数的解决方案。

但这与我想要的略有不同,因为它会更改每次刷新的随机数。

我想要的是:

  1. 每个表单提交都应生成一个唯一编号,如“17ICLAA001,...”。

  2. 在连续提交表格后将唯一编号发送给申请人。(我希望一旦完成简码就可以轻松完成)。

  3. 正在使用唯一 ID 编辑表单。

任何帮助将不胜感激。谢谢。

生成唯一且累进数字的正确方法是在 wp_option 中设置一个字段,如下所示:

add_option('unique_number', '1');

调用过滤器时,您必须简单地增加这个唯一的数字:

function genTicketString() {
    $currentUniqueNumber = get_option('unique_number');
    $newCurrentUniqueNumber = $currentUniqueNumber + 1;
    update_option('unique_number' $newCurrentUniqueNumber );

    return $newCurrentUniqueNumber;        
}

add_shortcode('quoteticket', 'genTicketString');

我找到了一种方法来做到这一点。它只是 table.

中的行数+1

当您向 table 添加记录时,在以下代码中唯一编号也会增加 1。在你的主题function.php中添加如下函数,并使用短代码"row_count"调用该函数。将它与 dtx 中的动态隐藏文本一起使用。

function row_count_shortcode() {
global $wpdb;
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->username_wp1.SaveContactForm7_1" )+1;
return "17ICLAA".sprintf('%03d',$user_count);
}
add_shortcode( 'row_count', 'row_count_shortcode' );

通常,当您使用联系表 7 创建联系表时,它会自动在您的数据库中创建一个 table,类似于

username_wp1.SaveContactForm7_1

代替这个替换你的数据库 table 名称。

所以在您的联系表中,输入

[dynamichidden uniqueid "row_count"]

并在您的电子邮件正文中使用 [uniqueid] 来达到您的目的。

它工作正常。我已经检查了我的网站。