Проверить корректность скрипта

Рейтинг: 0Ответов: 1Опубликовано: 19.02.2015

Если не сложно, проверьте корректность скрипта.

Скрипт не мой, нашел в Интернете, немножко изменил - все работает как надо, но корректно ли это сделано?

Добавление кнопки «Загрузить еще»:

<?php if (  $wp_query->max_num_pages > 1 ) : ?>
    <script>
    var true_posts = '<?php echo serialize($wp_query->query_vars); ?>';
    var current_page = <?php echo (get_query_var('paged')) ? get_query_var('paged') : 1; ?>;
    var max_pages = '<?php echo $wp_query->max_num_pages; ?>';
    </script>
    <div id="true_loadmore">Загрузить ещё</div>
    <div class="preloader">Загружается...</div>
<?php endif; ?>

Скрипт асинхронной загрузки:

jQuery(function($) {
    $('#true_loadmore').click(function(){

        var $el = $(this),
            $preloader = $('.preloader');
        var data = {
            'action': 'loadmore',
            'query': true_posts,
            'page': current_page
        };

        $.ajax({
            url: 'http://сайт.ru/wp-admin/admin-ajax.php', // Обработчик
            type: 'POST', // Тип запроса
            data: data, // Данные
            cache: false, // Кэширование
            beforeSend: function( ) { // Действия, которые будут выполнены перед выполнением ajax-запроса
                $el.hide(); 
                $preloader.show();
            },
            success: function(data){
                if( data ) { 
                    $el.before(data); // Вставляем новые посты
                    current_page++; // Увеличиваем номер страницы на единицу
                    if (current_page == max_pages) {
                        $el.remove();
                    }
                } else {
                    $el.remove(); // Если мы дошли до последней страницы постов, скроем кнопку
                }
            }           
        })

        .complete(function() { // Действия, которые будут выполнены после завершения ajax-запроса
            $preloader.hide();
            $el.show();
        });
    });
});

Еще изначально было:

if (currentPage == maxPages) {
    $el.remove();
}

Но так не работало, я заменил на

if (current_page == max_pages) {
    $el.remove();
}

Ответы

Ответов пока нет.