2015-05-25 2 views
2

Я использую load больше с ajax для своих портфолио, и он работает хорошо, но у меня возникла проблема, когда я делаю портфолио в качестве первой страницы, загрузка больше не работает больше, он показывает те же сообщенияЗагрузите еще сообщения через Ajax WordPress

Это код нагрузки больше JS

var isoElem = jQuery('.masonry-images'); 
if(isoElem.length > 0) { 

    var elem = isoElem[0]; 
    var iso = new Isotope(elem, { 
     itemSelector: '.work-image', 
    }); 
} 

var page = 1; 
var loadMorePosts = jQuery('#load-more-posts').text(); 

    function loadMore() { 
    page++; 
    jQuery.ajax({ 
     type: "GET", 
     url: './page/' + page, 
     beforeSend: function() { 
      jQuery('#load-more-posts').html("<i class='fa fa-spinner fa-spin'></i>"); 
     }, 
     complete: function() { 

     }, 
     success: function (data) { 
      var $data = jQuery(data).find('.single-blog,.work-image'); 
      if ($data.length > 0) { 
       jQuery('#load-more-posts').html(loadMorePosts); 
       jQuery('#blog-posts,#portfolio-posts').append($data); 

       if(isoElem.length > 0) { 
       iso.appended($data); 
       } 

       $data.css("display", "none"); 
       $data.fadeIn("slow"); 
      } 
      else { 
       jQuery('#load-more-posts').html('No More Posts'); 
      } 
     }, 
     error: function() { 
      jQuery('#load-more-posts').html('No More Posts'); 
     } 

    }); 
} 

jQuery('#load-more-posts').click(function(e) { 
    e.preventDefault(); 
    loadMore(); 
}); 

Вы можете попробовать здесь жить в «http://illyrianthemes.com/themes/vicenza/» здесь не работает, когда я удалить как главной странице WordPress, то отлично работает, например, проверьте четыре столбца «http://illyrianthemes.com/themes/vicenza/four-columns/».

С наилучшими пожеланиями

+1

Я думал, что wordpress обрабатывает вызовы AJAX с помощью admin-ajax.php? Я не делал ajax в wp через некоторое время, но вы должны локализовать скрипт и называть его в своем URL-адресе вместе с функцией, которая будет получать ваши сообщения (в php). https://codex.wordpress.org/AJAX_in_Plugins –

+0

Основная проблема заключается в том, что не работает, только когда я делаю страницу главной страницей, когда она является обычной страницей, она отлично работает. –

+0

Тогда что-то с permalinks должно быть проблемой. –

ответ

1

После долгих исследований я нашел ответ, если кто-то нуждается.

Вместо того, чтобы сделать это:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
query_posts(array('post_type' => 'post', 'paged' => $paged)); 

сделать это:

if (get_query_var('paged')) { 

$paged = get_query_var('paged'); 

} elseif (get_query_var('page')) { 

$paged = get_query_var('page'); 

} else { 

$paged = 1; 

} 

query_posts(array('post_type' => 'post', 'paged' => $paged)); 

Может быть, это поможет кому-то.

Смежные вопросы