Добрый вечер господа,
вы моя последняя надежда)
я пытаюсь сделать для начала простой постинг с фронт энда посредством аякс.
В результате возвращается 0. Если сделать тоже самое, но без аякс, то постинг работает.
Что я делаю не так?
<form id="add" name="add" method="post" enctype="multipart/form-data">
<label for="title">Title</label>
<input id="title" type="text" name="post_title" value="">
<input type="hidden" name="action" value="my_action">
<input id="submit" value="Submit" type="submit">
</form>
add_action('wp_ajax_nopriv_my_action', 'addpost_ajax_handler' );
add_action('wp_ajax_my_action', 'addpost_ajax_handler' );
function addpost_ajax_handler() {
if( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
$title = $_POST['post_title'];
$my_post = array(
'post_title' => $title
);
$result = wp_insert_post( $my_post );
if ( ! is_wp_error( $result ) ) echo $result ;
}
die();
}
.js
$('#submit').on('click', function(e) {
e.preventDefault();
var title = $('input[name="post_title"]').val();
var ajaxurl = '/wp-admin/admin-ajax.php';
var data = { 'action': 'my_action', 'post_title': title }
$.post(ajaxurl, data, function(response) {
alert(response);
});
});