Делаю запрос через ajax, а в ответ получаю главную страницу сайта целиком.
functions.php темы
<?php
add_action('wp_enqueue_scripts', 'add_ajaxurl');
function add_ajaxurl() {
wp_localize_script('jquery', 'realty_var', array(
'url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('realty_nonce')
));
}
// Добавление новой недвижимости на сайт через ajax
add_action('wp_ajax_new-realty', 'new_realty_ajax_callback');
add_action('wp_ajax_nopriv_new-realty', 'new_realty_ajax_callback');
function new_realty_ajax_callback() {
check_ajax_referer( 'realty_nonce', 'nonce_code' );
echo 'this is answer!';
wp_die();
}
// javascript для отправки формы новой недвижимости
add_action('wp_footer', 'new_realty_ajax');
function new_realty_ajax() {
?>
<script type="text/javascript" >
jQuery(document).ready(function ($) {
$("#new_realty_form").submit(function(e) {
e.preventDefault();
var data = {
action: 'new-realty',
nonce_code: realty_var.nonce
};
$.post(realty_var.ajaxurl, data, function(responce) {
console.log('Responce: ' + responce);
$('#new_realty_form')[0].reset();
});
});
});
</script>
<?php
}
форма
<!-- Ajax форма для добавления недвижимости -->
<?php if (is_user_logged_in()) : ?>
<form id="new_realty_form" method="post">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
</div>
<input id="realty_btn" type="submit" class="btn btn-primary" name="new_realty_btn">
</form>
<?php endif; ?>