Следуя рекомендациям по моему предыдущему вопросу, я решил реализовать на своей странице скрипт бесконечной загрузки. Однако при срабатывании скрипта я получаю ошибку 403 - запрещено. Это мой javascript:
jQuery(document).ready(function( $ ){
var ajaxurl = "<?php echo admin_url('admin-ajax.php') ?>";
var page = 2;
$(window).scroll(function() {
if($(window).scrollTop() == $(document).height() - $(window).height()) {
var data = {
'action': 'load_posts_by_ajax',
'page': page,
'security': '<?php echo wp_create_nonce("load_more_posts"); ?>'
};
$.post(ajaxurl, data, function(response) {
$('.main').append(response);
page++;
});
}
});
});
И это в моих функциях. php:
add_action('wp_ajax_load_posts_by_ajax', 'load_posts_by_ajax_callback');
add_action('wp_ajax_nonpriv_load_posts_by_ajax', 'load_posts_by_ajax_callback');
function load_posts_by_ajax_callback() {
check_ajax_referer('load_more_posts', 'security');
$paged = $_POST['page'];
$args = [
'post_type' => 'spell',
'posts_per_page' => '30',
'paged' => $paged
];
$my_posts = new WP_Query ($args);
while($my_posts->have_posts()) {
//the content goes here
}
wp_die();
}
Я дважды проверил, все в порядке, но я продолжаю получать 403 ошибки. Первоначальный запрос перед скриптом проходит без проблем. Единственный сторонний плагин, который я установил, - это Advanced Custom Fields.
EDIT: это журнал консоли: