我需要为在线注册活动的所有参与者提供唯一ID。我想给出一个像" 17CONF001,17CONF002,..."
的独特ID我正在使用contact-form-7-dynamic-text-extension插件为我的网站注册过程。
我使用以下功能生成票号。
/* Generate Quote Ticket */
function genTicketString() {
$length = 3;
$iclaa = "17ICLAA";
$characters = "0123456789";
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters)-1)];
}
return $iclaa.$string;
}
add_shortcode('quoteticket', 'genTicketString');
在我的functions.php中,我添加了
[dynamictext ticket "quoteticket"]
以我的联系表格7的形式,并通过css使该字段不可见。
最后,我已将[ticket]添加到您的电子邮件正文中。
根据AMCD给出的解决方案。
每次刷新都会给出不同的参考编号,而它应该为每次提交表格生成参考编号。
答案 0 :(得分:1)
希望这可以提供帮助,将此代码添加到您的function.php
//Define the key to store in the database
define( 'CF7_COUNTER', 'cf7-counter' );
//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter(){
$kodeawal = "FJY";
$val = get_option( CF7_COUNTER, 0) + 1; //Increment the current count
return $kodeawal.$val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
//Action performed when the mail is actually sent by CF7
function cf7dtx_increment_mail_counter(){
$val = get_option( CF7_COUNTER, 0) + 1; //Increment the current count
update_option(CF7_COUNTER, $val); //Update the settings with the new count
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter');
然后,将其添加到您的联系表格7
<p>[dynamictext cf7-counter "CF7_counter"]</p>
表单上的输出将为“FJY1”,“FJY2”等等
谢谢sevenspark: http://sevenspark.com/tutorials/how-to-create-a-counter-for-contact-form-7
答案 1 :(得分:0)
如果您想生成随机数作为ID,只需使用它即可。
define( 'CF7_COUNTER', 'cf7-counter' );
function cf7dtx_counter(){
$length = 8;
$characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters)-1)];
}
return $string;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
function cf7dtx_increment_mail_counter(){
$val = get_option( CF7_COUNTER, 0) + 1;
update_option(CF7_COUNTER, $val);
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter');
然后,将其添加到您的联系表7
[dynamichidden Request-ID "CF7_counter"]