У меня уже есть одна форма Ajax на моем сайте Wordpress. Теперь мне нужен второй. Поэтому я дублирую функцию в Function.php. Но это не работает.Больше одной формы ajax на wordpress
Первая форма - контакт. Второй - надпись. Первый работает отлично. Но для второго ничего не происходит, когда я пытаюсь отправить ...
Здесь мой код.
add_action('wp_ajax_contact', '_ajax_contact');
add_action('wp_ajax_nopriv_contact', '_ajax_contact');
function _ajax_contact() {
/*-----------------------------------------------------------------------------------*/
/* On vérifie le nonce de sécurité
/*-----------------------------------------------------------------------------------*/
check_ajax_referer('ajax_contact_nonce', 'security');
/*-----------------------------------------------------------------------------------*/
/* Protection des variables
/*-----------------------------------------------------------------------------------*/
$subject = wp_strip_all_tags($_POST['subject']); // Sujet du message
$name = wp_strip_all_tags($_POST['name']); // Nom de l'expéditeur
$sender = sanitize_email($_POST['email']); // Adresse e-mail de l'expéditeur
$message = nl2br(stripslashes(wp_kses($_POST['message'], $GLOBALS['allowedtags'])));
/*-----------------------------------------------------------------------------------*/
/* Gestion des headers
/*-----------------------------------------------------------------------------------*/
$headers = array();
$headers[] = 'FROM : ' . $name . ' <' . $sender .'>' . "\r\n";
/*-----------------------------------------------------------------------------------*/
/* Gestion du message
/*-----------------------------------------------------------------------------------*/
ob_start();
include(get_template_directory() . '/inc/mail/contact.php');
$mail = ob_get_contents();
ob_end_clean();
/*-----------------------------------------------------------------------------------*/
/* Envoie de l'e-mail
/*-----------------------------------------------------------------------------------*/
// Support d'un contenu HTML dans l'email
add_filter('wp_mail_content_type', create_function('', 'return "text/html";'));
if(wp_mail('[email protected]', '[subject] Contact', $mail, $headers)) {
// Tout est ok, on avertit l'utilisateur
wp_send_json('success');
}
else {
// Il y a une erreur avec le mail, on avertit l'utilisateur
wp_send_json('error');
}
}
/*-----------------------------------------------------------------------------------*/
/* Second form
/*-----------------------------------------------------------------------------------*/
add_action('wp_ajax_inscription', '_ajax_inscription');
add_action('wp_ajax_nopriv_inscription', '_ajax_inscription');
function _ajax_inscription() {
/*-----------------------------------------------------------------------------------*/
/* On vérifie le nonce de sécurité
/*-----------------------------------------------------------------------------------*/
check_ajax_referer('ajax_inscription_nonce', 'security');
/*-----------------------------------------------------------------------------------*/
/* Protection des variables
/*-----------------------------------------------------------------------------------*/
$subject = wp_strip_all_tags($_POST['subject']); // Sujet du message
$name = wp_strip_all_tags($_POST['name']); // Nom de l'expéditeur
$sender = sanitize_email($_POST['email']); // Adresse e-mail de l'expéditeur
$message = nl2br(stripslashes(wp_kses($_POST['message'], $GLOBALS['allowedtags'])));
/*-----------------------------------------------------------------------------------*/
/* Gestion des headers
/*-----------------------------------------------------------------------------------*/
$headers = array();
$headers[] = 'FROM : ' . $name . ' <' . $sender .'>' . "\r\n";
/*-----------------------------------------------------------------------------------*/
/* Gestion du message
/*-----------------------------------------------------------------------------------*/
ob_start();
include(get_template_directory() . '/inc/mail/contact.php');
$mail = ob_get_contents();
ob_end_clean();
/*-----------------------------------------------------------------------------------*/
/* Envoie de l'e-mail
/*-----------------------------------------------------------------------------------*/
// Support d'un contenu HTML dans l'email
add_filter('wp_mail_content_type', create_function('', 'return "text/html";'));
if(wp_mail('[email protected]', $subject, $mail, $headers)) {
// Tout est ok, on avertit l'utilisateur
wp_send_json('success');
}
else {
// Il y a une erreur avec le mail, on avertit l'utilisateur
wp_send_json('error');
}
}
Да, уникальные имена полей очень важны. , , , pherak, я сделал некоторое форматирование и перефразирование, чтобы больше синхронизировать с тем, что здесь используется, проверьте историю сообщений, чтобы вы могли учиться на нем. Гид [ответ] имеет приятные советы. Удачи! – brasofilo
Благодарим вас за исправления и полезные советы brasofilo. – Patrik