Более одной формы ajax в WordPressPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Более одной формы ajax в WordPress

Сообщение Anonymous »

У меня уже есть одна форма Ajax на моем веб-сайте WordPress. Теперь мне нужен второй. Поэтому я дублирую функцию в Function.php. Но это не работает.

Первая форма — контактная. Второе — надпись. Первый работает отлично.
Но что касается второго, при попытке отправить ничего не происходит...

Вот мой код.

Код: Выделить всё

    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 . ' ' . "\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( 'emailtest@gmail.com', '[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 . ' ' . "\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( 'testemail@gmail.com', $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' );
}
}

Подробнее здесь: https://stackoverflow.com/questions/265 ... -wordpress
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»