我正在使用以下内容将帖子加载到wordpress站点的索引页面中。问题是当它到达最后一页并且没有更多帖子要加载。它只是不断重新加载最后一页。
关于如何阻止这种情况发生的任何想法?感谢。
var $content = '#content';
var $nav_wrap = '.navigation';
var $anchor = '.navigation a.next';
var $text = 'Load More';
var $next_href = $($anchor).attr('href'); // Get URL for the next set of posts
$($nav_wrap).html('<a id="almc-load-more" href="' + $next_href + '">' + $text + '</a>');
$('#almc-load-more').click(function(e) {
e.preventDefault();
$.get($(this).attr('href'), '', function(data) {
var $timestamp = new Date().getTime();
var $new_content = $($content, data).wrapInner('<div class="almc-loaded" id="almc-' + $timestamp + '" />').html(); // Grab just the content
$next_href = $($anchor, data).attr('href'); // Get the new href
$('html,body').animate({scrollTop: $($nav_wrap).position().top}, 'slow'); // Animate scroll
$($nav_wrap).before($new_content); // Append the new content
$('#almc-' + $timestamp).hide().fadeIn('slow'); // Animate load
$('#almc-load-more').attr('href', $next_href); // Change the next URL
$('.almc-loaded ' + $nav_wrap).remove(); // Remove the original navigation
});
});
以上代码取自http://kaspars.net/blog/wordpress/jquery-script-for-loading-more-posts
答案 0 :(得分:0)
var lastLink;
$('#almc-load-more').click(function(e) {
if ( $anchor == $('.navigation a.next').last() ) {
lastLink = 1;
}
if (lastLink == 1) {return} else {
...
}
...
答案 1 :(得分:0)
您可以添加一些代码来检查新的href是否与当前的href不同,然后只是尝试添加新帖子(如果它们不同)。然后,如果他们不是,你可能会有一条消息说没有更多的帖子。
答案 2 :(得分:0)
在Mayers先生的评论之后(谢谢),我放弃了代码并使用了本教程:
http://www.problogdesign.com/wordpress/load-next-wordpress-posts-with-ajax/
拥有/做我需要的一切。