Php 成功后将WordPress联系人表单重定向到新页面
对于我的Wordpress网站,我有一个联系表格。为了分析转换,我想将联系人表单重定向到一个新页面。例如:mypage.com/succes。我在functions.php中做了很多尝试,但是没有任何效果。有人能帮我吗 联系人是Functions.php的一部分:Php 成功后将WordPress联系人表单重定向到新页面,php,wordpress,contact-form,Php,Wordpress,Contact Form,对于我的Wordpress网站,我有一个联系表格。为了分析转换,我想将联系人表单重定向到一个新页面。例如:mypage.com/succes。我在functions.php中做了很多尝试,但是没有任何效果。有人能帮我吗 联系人是Functions.php的一部分: add_shortcode( 'et_pb_contact_form', 'et_pb_contact_form' ); function et_pb_contact_form( $atts, $content = n
add_shortcode( 'et_pb_contact_form', 'et_pb_contact_form' );
function et_pb_contact_form( $atts, $content = null ) {
global $et_pb_contact_form_num;
extract( shortcode_atts( array(
'module_id' => '',
'module_class' => '',
'captcha' => 'on',
'email' => '',
'title' => '',
), $atts
) );
$et_error_message = '';
$et_contact_error = false;
$contact_email = isset( $_POST['et_pb_contact_email'] ) ? sanitize_email( $_POST['et_pb_contact_email'] ) : '';
if ( isset( $_POST['et_pb_contactform_submit'] ) ) {
if ( 'on' === $captcha && ( ! isset( $_POST['et_pb_contact_captcha'] ) || empty( $_POST['et_pb_contact_captcha'] ) ) ) {
$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Make sure you entered the captcha.', 'Divi' ) );
$et_contact_error = true;
} else if ( 'on' === $captcha && ( $_POST['et_pb_contact_captcha'] <> ( $_SESSION['et_pb_first_digit'] + $_SESSION['et_pb_second_digit'] ) ) ) {
$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'You entered the wrong number in captcha.', 'Divi' ) );
unset( $_SESSION['et_pb_first_digit'] );
unset( $_SESSION['et_pb_second_digit'] );
$et_contact_error = true;
} else if ( empty( $_POST['et_pb_contact_name'] ) || empty( $contact_email ) || empty( $_POST['et_pb_contact_message'] ) ) {
$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Make sure you fill all fields.', 'Divi' ) );
$et_contact_error = true;
}
if ( ! is_email( $contact_email ) ) {
$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Invalid Email.', 'Divi' ) );
$et_contact_error = true;
}
} else {
$et_contact_error = true;
if ( isset( $_SESSION['et_pb_first_digit'] ) )
unset( $_SESSION['et_pb_first_digit'] );
if ( isset( $_SESSION['et_pb_second_digit'] ) )
unset( $_SESSION['et_pb_second_digit'] );
}
if ( ! isset( $_SESSION['et_pb_first_digit'] ) )
$_SESSION['et_pb_first_digit'] = $et_pb_first_digit = rand(1, 15);
else
$et_pb_first_digit = $_SESSION['et_pb_first_digit'];
if ( ! isset( $_SESSION['et_pb_second_digit'] ) )
$_SESSION['et_pb_second_digit'] = $et_pb_second_digit = rand(1, 15);
else
$et_pb_second_digit = $_SESSION['et_pb_second_digit'];
if ( ! $et_contact_error && isset( $_POST['_wpnonce-et-pb-contact-form-submitted'] ) && wp_verify_nonce( $_POST['_wpnonce-et-pb-contact-form-submitted'], 'et-pb-contact-form-submit' ) ) {
$et_email_to = '' !== $email
? $email
: get_site_option( 'admin_email' );
$et_site_name = get_option( 'blogname' );
$contact_name = stripslashes( sanitize_text_field( $_POST['et_pb_contact_name'] ) );
$headers[] = "From: \"{$contact_name}\" <{$contact_email}>";
$headers[] = "Reply-To: <{$contact_email}>";
wp_mail( apply_filters( 'et_contact_page_email_to', $et_email_to ),
sprintf( __( 'New Message From %1$s%2$s', 'Divi' ),
sanitize_text_field( $et_site_name ),
( '' !== $title ? sprintf( _x( ' - %s', 'contact form title separator', 'Divi' ), sanitize_text_field( $title ) ) : '' )
), stripslashes( wp_strip_all_tags( $_POST['et_pb_contact_message'] ) ), apply_filters( 'et_contact_page_headers', $headers, $contact_name, $contact_email ) );
$et_error_message = sprintf( '<p>%1$s</p>', esc_html__( 'Thanks for contacting us', 'Divi' ) );
}
$form = '';
$name_label = __( 'Name', 'Divi' );
$email_label = __( 'Email Address', 'Divi' );
$message_label = __( 'Message', 'Divi' );
$et_pb_contact_form_num = ! isset( $et_pb_contact_form_num ) ? 1 : $et_pb_contact_form_num++;
$et_pb_captcha = sprintf( '
<div class="et_pb_contact_right">
<p class="clearfix">
%1$s = <input type="text" size="2" class="input et_pb_contact_captcha" value="" name="et_pb_contact_captcha">
</p>
</div> <!-- .et_pb_contact_right -->',
sprintf( '%1$s + %2$s', esc_html( $et_pb_first_digit ), esc_html( $et_pb_second_digit ) )
);
if ( $et_contact_error )
$form = sprintf( '
<div class="et_pb_contact">
<div class="et-pb-contact-message">%11$s</div>
<form class="et_pb_contact_form clearfix" method="post" action="%1$s">
<div class="et_pb_contact_left">
<p class="clearfix">
<label class="et_pb_contact_form_label">%2$s</label>
<input type="text" class="input et_pb_contact_name" value="%3$s" name="et_pb_contact_name">
</p>
<p class="clearfix">
<label class="et_pb_contact_form_label">%4$s</label>
<input type="text" class="input et_pb_contact_email" value="%5$s" name="et_pb_contact_email">
</p>
</div> <!-- .et_pb_contact_left -->
<div class="clear"></div>
<p class="clearfix">
<label class="et_pb_contact_form_label">%7$s</label>
<textarea name="et_pb_contact_message" class="et_pb_contact_message input">%8$s</textarea>
</p>
<input type="hidden" value="et_contact_proccess" name="et_pb_contactform_submit">
<input type="submit" value="%9$s" class="et_pb_contact_submit">
%6$s
%10$s
</form>
</div> <!-- .et_pb_contact -->',
esc_url( get_permalink( get_the_ID() ) ),
$name_label,
( isset( $_POST['et_pb_contact_name'] ) ? esc_attr( $_POST['et_pb_contact_name'] ) : $name_label ),
$email_label,
( isset( $_POST['et_pb_contact_email'] ) ? esc_attr( $_POST['et_pb_contact_email'] ) : $email_label ),
( 'on' === $captcha ? $et_pb_captcha : '' ),
$message_label,
( isset( $_POST['et_pb_contact_message'] ) ? esc_attr( $_POST['et_pb_contact_message'] ) : $message_label ),
__( 'Submit', 'Divi' ),
wp_nonce_field( 'et-pb-contact-form-submit', '_wpnonce-et-pb-contact-form-submitted', true, false ),
$et_error_message
);
$output = sprintf( '
<div id="%4$s" class="et_pb_contact_form_container clearfix%5$s">
%1$s
%2$s
%3$s
</div> <!-- .et_pb_contact_form_container -->
',
( '' !== $title ? sprintf( '<h1 class="et_pb_contact_main_title">%1$s</h1>', esc_html( $title ) ) : '' ),
( '' !== $et_error_message ? sprintf( '<div class="et-pb-contact-message">%1$s</div>', $et_error_message ) : '' ),
$form,
( '' !== $module_id
? esc_attr( $module_id )
: esc_attr( 'et_pb_contact_form_' . $et_pb_contact_form_num )
),
( '' !== $module_class ? sprintf( ' %1$s', esc_attr( $module_class ) ) : '' )
);
return $output;
}
add_shortcode('et_pb_contact_form','et_pb_contact_form');
函数et\u pb\u contact\u表单($atts,$content=null){
全球$et\u pb\u联系人\u表单\u数量;
提取(短码)附件(数组)(
“模块id'=>”,
“模块_类”=>”,
“验证码”=>“开启”,
'电子邮件'=>'',
'标题'=>'',
),$atts
) );
$et_error_message='';
$et_contact_error=false;
$contact_email=isset($_POST['et_pb_contact_email'])?清理电子邮件($_POST['et_pb_contact_email']):'';
如果(isset($\u POST['et\u pb\u contactform\u submit'])){
如果('on'==$captcha&&(!isset($\u POST['et\u pb\u contact\u captcha']))| |空($\u POST['et\u pb\u contact\u captcha'])){
$et_error_message.=sprintf(“%1$s”,esc_html_uuu(“‘确保您输入了验证码’,‘Divi’));
$et_contact_error=true;
}否则如果('on'==$captcha&($$u POST['et\u pb\u contact\u captcha'])($会话['et\u pb\u first\u digit']+$会话['et\u pb\u second\u digit'])){
$et_error_message.=sprintf(“%1$s”,esc_html_uuu(“‘您在验证码中输入了错误的号码’,‘Divi’);
取消设置($_会话['et_pb_第一位]);
取消设置($_会话['et_pb_第二位]);
$et_contact_error=true;
}else if(空($_POST['et_pb_contact_name'])空($_contact_email)|空($_POST['et_pb_contact_message'])){
$et_error_message.=sprintf(“%1$s”,esc_html_uuu(“‘确保填写所有字段’,‘Divi’));
$et_contact_error=true;
}
如果(!是电子邮件($contact\u email)){
$et_error_message.=sprintf(“%1$s”,esc_html(“'Invalid Email.”,'Divi');
$et_contact_error=true;
}
}否则{
$et_contact_error=true;
如果(isset($_会话['et_pb_第一位数字']))
取消设置($_会话['et_pb_第一位]);
如果(isset($_会话['et_pb_第二位]))
取消设置($_会话['et_pb_第二位]);
}
if(!isset($\会话['et\u pb\u第一位数字']))
$\会话['et\u pb\u first\u digit']=$et\u pb\u first\u digit=rand(1,15);
其他的
$et_pb_first_digit=$_会话['et_pb_first_digit'];
if(!isset($\会话['et\u pb\u第二位数字']))
$\会话['et_pb_second_digit']=$et_pb_second_digit=rand(1,15);
其他的
$et_pb_second_digit=$_会话['et_pb_second_digit'];
如果(!$et\U联系人错误和isset($POST[''''''''''''''''''''''''''''''''.'et-pb-contact-form-submitted'])和wp\U验证($'POST['''''''.'et-pb-contact-form-submitted'.'提交'.'et-pb-contact-form')){
$et_email_to=''!=$email
?$电子邮件
:获取站点选项(“管理员电子邮件”);
$et_site_name=get_选项('blogname');
$contact\u name=stripslashes(清理文本字段($\u POST['et\u pb\u contact\u name']);
$headers[]=“From:\”{$contact\u name}\”;
$headers[]=“回复:”;
wp_邮件(应用过滤器('et_contact_page_email_to',$et_email_to),
sprintf(u uu('newmessagefrom%1$s%2$s','Divi'),
清理文本字段($et\U站点名称),
(“”!=$title?sprintf(x('-%s',联系人表单标题分隔符,'Divi'),清理文本字段($title)):“”)
),条带斜杠(wp_strip_all_标记($_POST['et_pb_contact_message'])),应用过滤器('et_contact_page_headers',$headers,$contact_name,$contact_email));
$et_error_message=sprintf(“%1$s”,esc_html_uuu(“‘谢谢与我们联系’,‘Divi’));
}
$form='';
$name_label=uuu('name','Divi');
$email_label=uuu('email Address','Divi');
$message_label=uuu('message','Divi');
$et_pb_contact_form_num=!isset($et_pb_contact_form_num)?1:$et_pb_contact_form_num++;
$et_pb_captcha=sprintf('
%1$s=
',
sprintf(“%1$s+%2$s”、esc_html($et_-pb_第一位数字)、esc_html($et_-pb_第二位数字))
);
如果($et\u联系错误)
$form=sprintf('
%11美元
%2元
%4美元
%7元
%8美元
%6美元
%10美元
',
esc_url(get_permalink(get_the_ID()),
$name_标签,
(isset($_POST['et_pb_contact_name'])?esc_attr($_POST['et_pb_contact_name']):$name_label),
$email_标签,
(isset($_POST['et_pb_contact_email'])?esc_attr($_POST['et_pb_contact_email']):$email_label),
('on'==$captcha?$et\u pb\u captcha:''),
$message_标签,
(isset($_POST['et_pb_contact_message'])?esc_attr($_POST['et_pb_contact_message']):$message_label),
__(“提交”、“Divi”),
wp_nonce_字段('et pb contact form submit','wpnce-et-pb-contact-form-submitted',true,false),
$et\u错误消息
);
$output=sprintf('
%1元
%2元
%3美元
',