like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей

Как исправить ajax загрузку постов Wordpress?

Добрый вечер, есть такой вот скрипт ajax подгрузки постов WP. Каким образом его можно подправить, чтобы невалидность ссылки выяснялась в текущей итерации, а не при следующей.
Иными словами, чтобы класс "Show me more" исчезал если все посты были загружены в этом цикле, а не при следующем вызове.
Возможно, здесь нужно проверять по тому, есть ли ещё посты для загрузки, а не по ссылке. Как можно сделать?

(function($) {
        $('#showmemore a').live('click', function(e){
            e.preventDefault();
            $(this).addClass('loading').text('LOADING...');
            $.ajax({
                type: "GET",
                url: $(this).attr('href') + '#loop',
                dataType: "html",
                success: function(out){
                    result = $(out).find('#loop .post');
                    nextlink = $(out).find('#showmemore a').attr('href');
                    $('#loop').append(result.fadeIn(300));
                    $('#showmemore a').removeClass('loading').html('Show me more');
                    if (nextlink != undefined) {
                        $('#showmemore a').attr('href', nextlink);
                    } else {
                        $('#showmemore').remove();
                    }
                }
            });
        });
})(jQuery)


вызывается например такой loop:

<div id="loop">
<div class="post">

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'album',
'posts_per_page' => 25,
'paged' => $paged,
's' => get_search_query());
$my_albums = new WP_Query ($args);

while ($my_albums->have_posts()) : $my_albums->the_post();
// do more stuff with other loops
endwhile;

</div>
</div>
<div id="showmemore"><?php next_posts_link('Show Me More'); ?></div>
  • Вопрос задан
  • 2703 просмотра
Решения вопроса 1
@Mavpa
Напиши еще PHP-функцию которую вызываешь ajax-ом
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы