【问题标题】:Glitch in WordPress single.php Infinite Scroll/Pagination LoopWordPress single.php 中的故障无限滚动/分页循环
【发布时间】:2014-05-30 08:19:50
【问题描述】:

我在 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-->

这很好用,因为它会创建“下一页”以启动无限滚动。我在无限滚动中的navSelectorul.single-pagination,我的nextSelectora.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);

【问题讨论】:

    标签: javascript php wordpress infinite-scroll


    【解决方案1】:

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

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

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

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

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

    放在这个之前:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-02
      • 2016-10-10
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 2015-08-12
      • 2014-04-26
      • 2017-01-17
      相关资源
      最近更新 更多