我使用联系人表格7,填写表格时,我将数据保存在bbdd中。对于该用途:
add_action( \'wpcf7_before_send_mail\', \'save_form\' );
function save_form( $wpcf7 ) {
global $wpdb;
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$submited = array();
$submited[\'title\'] = $wpcf7->title();
$submited[\'posted_data\'] = $submission->get_posted_data();
}
$data = array(
\'empresa\' => $submited[\'posted_data\'][\'your-empresa\'],
\'nombre\' => $submited[\'posted_data\'][\'your-nombre\'],
\'apellido\' => $submited[\'posted_data\'][\'your-apellidos\'],
);
$table = $wpdb->prefix . \'usuarios\';
$success = $wpdb->insert( $table, $data );
//wp_redirect( "/info-contratar/" );
//header("Location: /info-contratar/"); exit();
}
函数结束时。我需要使用其他视图:info contactar,但它从不做重定向。只有我看到一个使用firebug工具的Get请求。
如何重定向并显示我的页面信息Contrtar?
当做
SO网友:Howdy_McGee
如果您使用AJAX提交联系人表单7数据(默认情况下已打开),则无法使用wpcf7_before_send_mail
钩不过,您还有一些其他选择:
1) 关闭打包为整个JS标志的WPCF7 AJAX。这也将关闭JS验证和所有非优化。Documentation. 将此添加到wp配置
define(\'WPCF7_LOAD_JS\', false);
使用内置
WPCF7 Additional Settings Field 字段来处理提交时的重定向。它看起来像这样:
on_sent_ok: "location = \'http://yourdomain.com/info-contratar/\';"
在页面上或外部文件中使用jQuery,然后监听
mailsent.wpcf7
.
Documentation.
jQuery( document ).ready( function( $ ) {
$( \'.wpcf7\' ).on( \'mailsent.wpcf7\', function( e ) {
window.location.href = \'http://yourdomain.com/info-contratar/\';
} );
} );