Реализация кнопки "показать еще" на wordpress. Сам скрипт взят с сайта
https://misha.blog/wordpress/ajax-pagination.html
Все работает, но при подгрузке новых постов перестает работать слайдер поста, как вследствие гугления выяснилось из-за того, что подгружается только в начале. Как починить не могу разобраться.
Вот сам скрипт js
jQuery(function($){
$('#true_loadmore').click(function(){
$(this).html('Загружаю примеры'); // изменяем текст кнопки, вы также можете добавить прелоадер
let data = {
'action': 'loadmore',
'query': true_posts,
'page' : current_page
};
$.ajax({
url:ajaxurl, // обработчик
data:data, // данные
type:'POST', // тип запроса
success:function(data){
if( data ) {
$('#true_loadmore').text('Загрузить ещё').before(data); // вставляем новые посты
current_page++; // увеличиваем номер страницы на единицу
if (current_page == max_pages) $("#true_loadmore").remove(); // если последняя страница, удаляем кнопку
} else {
$('#true_loadmore').remove(); // если мы дошли до последней страницы постов, скроем кнопку
}
}
});
});
});
Еще PHP на всякий
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<script>
var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php';
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>
<?php endif; ?>