WordPress中的小故障single.php无限滚动/分页循环

时间:2014-05-20 20:25:11

标签: javascript php wordpress infinite-scroll

我已经在single.php文件上创建了一个快速分页,以便在页面底部的循环中使用无限滚动。这是我用来创建我的' nextSelector'和' navSelector'对于无限滚动:

<?php
    $next_url = $_SERVER['REQUEST_URI'].'2';
?>

<ul class="single-pagination">         
     <li><a class="next pagination-item" href="<?php echo $next_url; ?>/">Next</a></li>
</ul><!--single-pagination-->

这很好用,因为它创造了下一个&#39;页面开始无限滚动。无限卷轴中的navSelectorul.single-paginationnextSelectora.next.pagination-item。这一切在大多数页面上都能正常工作,但是当我访问URL末尾有一个数字的页面时,无限滚动会更改数字而不是更改URL上的附加数字。例如,如果我有这样的URL:

http://www.example.com/this-post-2/

它将成功加载无限滚动的第一次迭代,即:

http://www.example.com/this-post-2/2/

然后在下一次迭代中会在此URL上抛出404错误:

http://www.example.com/this-post-3/2/

虽然它应该寻找:

http://www.example.com/this-post-2/3/

如果没有拆分无限滚动的JS代码,有没有办法自定义无限滚动查找的URL?

修改

这与更改URL的jquery.infinitescroll.min.js中的RegEx表达式有关。这是我正在改变的代码。如果没有人打败我,我会在这里发布答案:

t = t.match(/^(.*?)\b2\b(.*?$)/).slice(1);

1 个答案:

答案 0 :(得分:0)

对此的解决方案在于jquery.infinitescroll.js(或jquery.infinitescroll.min.js文件)。作者在此使用的RegEx没有考虑这些类型的URL。

我在我的GitHub帐户中创建了一个代码分支,可以在这里访问:

https://github.com/MillerMedia/infinite-scroll

基本上,这是一个RegEx表达式:

t = t.match(/^(.*?2)\b2\b(.*?$)/).slice(1);

放在这个之前:

t = t.match(/^(.*?)\b2\b(.*?$)/).slice(1);