Не корректный вывод постов при нажатии на кнопку “Загрузить еще”
На сайте demo.ipro2.ru/myfeeria в блоке "НАШИ ШОУ-ПРОГРАММЫ И ПЕРСОНАЖИ" есть кнопка "Загрузить еще", ее надо запустить, но в двух вариантах, возможно через кастом филд сделать переключатель:
-
нужно, чтобы при нажатии на кнопку "Загрузить еще" подгружались посты;
- нужно, чтобы при скроллинге подгружались посты, т.е. бесконечная прокрутка постов.
Для этих целей в файле шаблона страницы, после постов, написал the_posts_pagination(), до этого там не было пагинации, просто выводились все посты, и установил плагин Ajax Pagination Settings, который цепляет на кнопку пагинации ajax загрузку, в настройках плагина можно выбрать либо кнопку "Загрузить еще", либо бесконечную прокрутку. При нажатии на кнопку и при скроллинге посты подгружаются, правда стили слетаю, посты друг на друга наезжают https://prnt.sc/ja0bp3 .
Вывод постов в таком виде(кирпичный эффект) происходит с помощью Masonry.
Код в файле шаблона страницы
<div class="grid clearfix" data-masonry='{ "itemSelector": ".grid-
item", "columnWidth": ".grid-sizer", "gutter": ".gutter-sizer",
"percentPosition": true, "transitionDuration": "0.3s" }'>
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', 'page' );
endwhile; // End of the loop.
?>
<div class="grid-sizer"></div>
<div class="gutter-sizer"></div>
</div>
<div id="loadMore" class="load-img">
<?php the_posts_pagination( array('screen_reader_text' => ' ',)); ?>
</div>
</div>
Код в файле js
(function ($) {
"use strict";
if($('.wow').length){
var wow = new WOW(
{
boxClass:'wow', // animated element css class (default is wow)
animateClass: 'animated', // animation css class (default is animated)
offset: 0, // distance to the element when triggering the animation (default is 0)
mobile:false, // trigger animations on mobile devices (default is true)
live:true // act on asynchronously loaded content (default is true)
}
);
wow.init();
}
if ( jQuery.fn.masonry ) {
var $grid = jQuery( ".project-listing .grid, .blog-listing .grid" ).masonry();
$grid.imagesLoaded().progress( function() {
$grid.masonry( "layout" );
}).always( function() {
$grid.masonry( "layout" );
});
}
jQuery( window ).on( "beforeunload", function() {
jQuery( "body" ).addClass( "before-unload" );
});
})(jQuery);
Сейчас на сайте выводятся дважды посты, сверху с помощью плагина WP Tiles, но там нет бесконечной подгрузки постов, а снизу это верстка которая была на сайте + плагин Ajax Pagination Settings.
Как сделать так, что бы посты корректно выводились?
P.S. Взял на сайте фриланса я это задание, но выполнить его не получается, второй день сижу и ничего придумать не могу. Дело в том что только начал брать задания на сайте и как такового рейтинга нет, а если это задание провалю, то может вообще в минус уйти. Мне не хотелось бы что бы у меня рейтинг упал, сложно будет в дальнейшем брать задания. Может быть кто нибудь выполните это задание вместо меня? Не бесплатно конечно. Если возьметесь оцените пожалуйста по времени и деньгам сколько выйдет.
Нормальный такой фрилансер ) зато наверное цену дал ниже, да? ))))
хоть бы постыдился писать об этом... Фриланс это не поиск решения в интернете, это когда ты знаешь как сделать и потому оставляешь заявку.
Админ, можешь удалить данный вопрос, он уже не актуален. Задачу сняли с меня, не уложился в сроки.