不再存在时停止加载帖子

时间:2013-12-18 18:42:00

标签: wordpress jquery

我正在使用以下内容将帖子加载到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

3 个答案:

答案 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/

拥有/做我需要的一切。