Добрый вечер, есть такой вот скрипт 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>