, когда я хочу, чтобы сохранить некоторые специальные данные, обрабатывать форму для МЦРА или просто перенаправить все мои формы, я использую Контактную форму 7 крюк: wpcf7_before_send_mail
Вот пример, чтобы перенаправить любую форму на страницу (выписка из плагин утилиты, который я сделал, поэтому, не заботьтесь о unset и линиях сеанса, опциях ...).
add_action('wpcf7_before_send_mail', 'mail_send_redirection');
function mail_send_redirection($contactform){
$submission = WPCF7_Submission::get_instance();
if($options['_redirect_all_forms'] == 'false' && $contact_form->prop('redirection_settings') == 'false'){
return;
}
$redirection_form_id = $contact_form->prop('redirection_settings');
$redirection_page_id = (empty($redirection_form_id)) ? $options['_thank_you_url'] : $redirection_form_id;
$nonce = wp_create_nonce('redirect-user-action');
if($contact_form->prop('redirection_message') != ''){
$args = array(
'html' => false,
'exclude_blank' => false);
$message = wpcf7_mail_replace_tags($contact_form->prop('redirection_message'), $args);
unset($_SESSION['bcf7u_nonce']);
unset($_SESSION['bcf7u_message']);
unset($_SESSION['bcf7u_pageid']);
$_SESSION['_nonce'] = $nonce;
$_SESSION['_pageid'] = $redirection_page_id;
$_SESSION['_message'] = $message;
}
$contact_form->skip_mail = false;
$contact_form->set_properties(
array(
'additional_settings' => "on_sent_ok: \"location.replace('" . get_permalink($redirection_page_id) . "/?nonce=" . $nonce . "');\""));
}
Чтобы сохранить поле формы, просто используйте update_post_meta.
Есть другой способ отправить базу запросов на действие wp_ajax_no_priv _ {$ action} и js.
Сообщите мне, если это вам поможет, или вам нужны еще несколько советов!
Спасибо за это! Попробуем попробовать и вернемся с результатом! Thom –