我使用联系表单7提交表单并使用wpcf7_before_send_mail通过soap客户端生成参考号。
代码是
function wpcf7_do_something($WPCF7_ContactForm)
{
if (3490 == $WPCF7_ContactForm->id()) {
$client = new SoapClient('http://xxx.xxx.xxx.xxx:xxxxx/4dwsdl', array('trace' => 1));
$res_date = date("Y-m-d", strtotime('01 feb 2015'));
$enquiery_id = $client->__call('WS_AddContact',
array(
'narwal Devender',
null,
'Devender',
'narwal',
'hisar',
'Hisar',
'Haryana',
'125001',
'Australia',
'01662246138',
'9802260750',
'8529000369',
'vijaylal@webmastershisar.com',
true,
'google',
'google',
'Phone Call',
0,
'type of good should be strode.',
$res_date,
'2 to 6 Months',
'SSPSS',
null,//array('xxxxxxx'),
array('46.75'),
array('1 x 1 x 1 (1qm)'),
array('xxxxxxxxx'),
array('send print should be here to work.'),
null,
'xxxxxxxxxxxxx',
null
)
);
mail('vijaylal@webmastershisar.com', 'My Subject',$enquiery_id);
}
return $wpcf7;
}
这样可以正常工作并发送电子邮件。
但我想在thankyou页面或任何页面上显示自定义查询ID,或者使用一些重定向并将数据发送到网址。
我也试图在wpcf7_mail_sent中使用此代码,这也有效,
但是当我尝试使用重定向时,它什么都不做,联系表单就会挂起。
add_action('wpcf7_mail_sent', 'wpcf7_redirect_on_submit');
function wpcf7_redirect_on_submit($wpcf7)
{
header( 'Location: http://www.google.com' );
exit;
}
如何在不使用javascript或jquery on_sent_ok的情况下重定向wpcf7_mail_sent中的联系表单?
或
如何在页面上向用户显示此查询ID?
任何人都可以帮忙完成这项工作。
答案 0 :(得分:1)
您还可以使用可用的挂钩来更改属性
add_filter( 'wpcf7_contact_form_properties', 'let_me_redirect', 10, 2 );
/**
* Add the code that will run when on_sent_ok is triggered;
*/
function let_me_redirect( $properties, $contact_form_obj){
$properties[ 'additional_settings' ] .="on_sent_ok: \"location.replace('http://www.google.com');\""
;
return $properties;
}