Рассмотрим на примере формы подписки на рассылку.
На страницу отправки добавляем скрипт.
#addEMailInfo — это наш input
#addMailto — кнопка подписаться
#addEMailSuccess — окно с текстом успешной подписки
#addEMailFalse — окно с текстом неудачного запроса
Код:
<script>
$("#addMailto").on("click", function(e){
e.preventDefault();
var addEMailInfo = $('#addEMailInfo').val();
var data = { 'action':'siteWideMessage', 'more':'values', 'mailadd':addEMailInfo };
$.post('http://sitename.ru/wp-admin/admin-ajax.php', data, function(response) {
if(response == "success"){
$('#addEMailSuccess').show(500);
setTimeout(function(){$('#addEMailSuccess').hide(500)}, 2000);
}else{
console.log(response);
$('#addEMailFalse').show(500);
setTimeout(function(){$('#addEMailFalse').hide(500)}, 2000);
}
});
});
</script>
далее в файле function.php обрабатываем наш запрос
Код:
add_action( 'wp_ajax_siteWideMessage', 'wpse_sendmail' );
add_action( 'wp_ajax_nopriv_siteWideMessage', 'wpse_sendmail' );
function wpse_sendmail()
{
global $wpdb;
$mailadd = htmlspecialchars($_POST['mailadd']);
if (filter_var($mailadd, FILTER_VALIDATE_EMAIL)) {
echo 'succes';
} else {
echo "ошибка валидации емаил";
}
die();
}
siteWideMessage — это наш action и вы его можете переименовать под себя