Я пытаюсь вставить новый пост с простой формой ajax в плагин WordPress.Посетители будут использовать эту форму для создания сообщений из веб-интерфейса.
Моя форма выглядит так:
<script>
jQuery( document ).ready(function() {
jQuery('input[type=submit]').on('click', function() {
var ajaxurl = 'https://example.com/wp-admin/admin-ajax.php';
jQuery.ajax({
type: "POST",
data: jQuery('.event-form').serialize(),
url: ajaxurl,
success: function(result) {
console.log('data sent!');
console.log('sent to: ' + templateDir + loadUrl );
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR + " :: " + textStatus + " :: " + errorThrown);
}
});
});
});
</script>
<form id="msform" name="review_form" class="form-horizontal event-form" action="/create-event" method="POST" enctype="multipart/form-data">
<input type="text" name="title" placeholder="title">
<textarea rows="4" name="desc" placeholder="Description"></textarea>
<select name="category">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<input type="hidden" name="userID" id="userID" value="<?php get_current_user_id(); ?>">
<input type="submit" name="submit" class="submit action-button" value="Submit"/>
</form>
Это функция php ajax
function save_post () {
$new_post = array(
'post_title' => $_POST['title'],
'post_author' => $_POST['userID'],
'post_content' => $_POST['desc'],
'post_category' => array($_POST['category']),
'post_status' => 'publish',
'post_type' => 'post'
);
$post_id = wp_insert_post($new_post);
}
add_action('wp_ajax_nopriv_save_post','save_post');
add_action('wp_ajax_save_post','save_post');
Я получаюследующее сообщение об ошибке в консоли, когда я нажимаю кнопку отправки:
[object Object] :: error :: Bad Request
Что я делаю не так?