早上好,我在提交表单后使用联系表单7和电子邮件提交功能。 现在,我需要通过电子邮件发送存储在cookie中的值(这是推荐代码)。我该怎么办?
答案 0 :(得分:2)
以下是实现此目的的步骤。
将此添加到主题的“ functions.php”中。
function dynamictext_cf7_cookie($atts){
extract(shortcode_atts(array(
'key' => -1,
), $atts));
if($key == -1) return '';
$val = '';
if( isset( $_COOKIE[$key] ) ){
$val = $_COOKIE[$key];
}
return $val;
}
add_shortcode('DT_CF7_COOKIE', 'dynamictext_cf7_cookie');
将其添加到Contact Form 7表单的“表单”标签-[dynamichidden referral-code-field "DT_CF7_COOKIE key='REFERRAL_CODE'"]
,其中“ REFERRAL_CODE”是您的PHP cookie名称。
将此添加到联系表7表单-[referral-code-field]
的“邮件”标签中。
就这样,您可以在这里阅读更多内容-https://www.sean-barton.co.uk/2014/04/contact-form-7-place-post-server-cookie-session-variables-fields/。
答案 1 :(得分:0)
您可以按照文档检查文档,请与form7联系,不要使用cookie。
使用默认配置,此插件本身不会:
答案 2 :(得分:0)
我认为您要执行的操作是在成功提交联系表7后发送另一封电子邮件。您可以通过后端中可用的wpcf7挂钩执行此操作。 wpcf7_mail_sent
注意:您必须获取所需的cookie数据,并使用javascript将其动态地作为隐藏字段动态包含在表单中,以便将其包含在提交的表单中,以便在后端检索。
//you can place this in your functions.php
add_action('wpcf7_mail_sent', function ($cf7) {
//do what you want here like get the extra
});
假设我已经使用javascript / jquery例如,已经将来自cookie的数据添加为隐藏字段,这就是我要在后端进行的操作。将<input type="hidden" name="referral_code" />
注入了表单标签。
add_action('wpcf7_mail_sent', function ($cf7) {
$wpcf7 = WPCF7_ContactForm::get_current();
$submission = WPCF7_Submission::get_instance();
$posted_data = empty($submission) ? null : $submission>get_posted_data();
//assuming you are tracking a form with an id 1234
if($wpcf7->id() === 1234){
//not sure if this still works, if not you can simply use $_GET['referral_code']
if(isset($posted_data['referral_code'])){
$referralCode = $posted_data['referral_code'];
//...now from this point you can send an email or pass this info to another platform for tracking purposes.
}
}
});
答案 3 :(得分:0)
没有任何插件,只需添加新的自定义Special Mail Tag即可轻松实现相同目的:
STEP-1:在主题函数中添加以下代码。php
add_filter( 'wpcf7_special_mail_tags', 'wpcf7_my_cookie_mailtag', 10, 3 );
function wpcf7_my_cookie_mailtag( $output, $name, $html ) {
if ( '_my_cookie_special_tag' != $name ) { // rename the tag name as your wish;
return $output;
}
if ( ! $contact_form = WPCF7_ContactForm::get_current() ) {
return $output;
}
$val = isset($_COOKIE['my_cookie'])? $_COOKIE['my_cookie']):'N/A';
return $html ? esc_html($val) : $val;
}
STEP-2 :在您的Mail Setup中使用此短代码[_my_cookie_special_tag]
。