这是请求的样子:
$('.send-theme').on('click', function(e){
e.preventDefault();
let dataValues = {
'title' : $('.input-title').val(),
'descr' : $('.y-story').val(),
};
if( dataValues.title != '' && dataValues.descr != '' ) {
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
'action' : 'add_post_to_base',
'title' : dataValues.title,
'descr' : dataValues.descr,
}, // можно также передать в виде массива или объекта
beforeSend: function( xhr ) {
$('.add_post').removeClass('add_post--active');
},
success: function( data ) {
alert (data);
}
});
// если элемент – ссылка, то не забываем:
return false;
}
});
它在functions.php中的处理程序
function add_post_to_base(){
$title = $_POST['title'];
$descr = $_POST['descr'];
}
add_action( 'wp_ajax_nopriv_add_post_to_base', 'add_post_to_base' );
add_action( 'wp_ajax_add_post_to_base', 'add_post_to_base' );
和表格本身:
<form action="<?php echo home_url( '/' ) ?>" method="post" class="add_post">
该函数
add_post_to_base()不返回任何内容,因此答案为 0。此函数必须返回某种答案,并且答案必须以函数结尾die()或包裹在函数中die();以下是工作版本的外观:
作为请求的结果,消息“成功!”将出现在您的窗口中。