【问题标题】:Wordpress pagination <a> links click and change to "active" but don't redirectWordpress 分页 <a> 链接单击并更改为“活动”但不重定向
【发布时间】:2014-08-31 04:44:54
【问题描述】:

我搜索了许多类似的分页问题,​​但没有找到解决这个确切问题的方法。

分页似乎工作正常,链接生成正确,页面物理生成正确,尽管导航链接没有正确点击。

我检查了生成的 html 中的链接(正确显示如下:)

<!--PAGINATION START-->
<div class="ast_pagenav">
    <div class="pagi_border" style="width: 220px;">
        <a class="page-numbers current" href="http://bscserver.com/bsg/?page_id=49%3Fpaged%3D2?paged=1" target="_blank">1</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=2/?page_id=49%3Fpaged%3D2">2</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=3/?page_id=49%3Fpaged%3D2">3</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=4/?page_id=49%3Fpaged%3D2">4</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=5/?page_id=49%3Fpaged%3D2" style="margin-right: 0px;">5</a>
        <dt></dt>
    </div>
</div>

网址:http://bscserver.com/bsg/blog/

尽管单击时,导航元素将成功更改为“当前”状态/类,尽管 href 重定向不起作用。

<!--PAGINATION START-->
<div class="ast_pagenav">
    <div class="pagi_border" style="width: 220px;">
        <a class="page-numbers" href="http://bscserver.com/bsg/?page_id=49%3Fpaged%3D2?paged=1" target="_blank">1</a>
        <a class="page-numbers current" href="http://bscserver.com/bsg?paged=2/?page_id=49%3Fpaged%3D2">2</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=3/?page_id=49%3Fpaged%3D2">3</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=4/?page_id=49%3Fpaged%3D2">4</a>
        <a class="page-numbers" href="http://bscserver.com/bsg?paged=5/?page_id=49%3Fpaged%3D2" style="margin-right: 0px;">5</a>
        <dt></dt>
    </div>
</div>

URL: STILL http://bscserver.com/bsg/blog/ 即使点击的元素有 href="http://bscserver.com/bsg?paged=2/

知道是什么原因导致我的链接无法点击吗?谢谢。

似乎关联的Javascript:

jQuery('.ast_pagenav a').each(function(){

    <?php if(is_category() || is_search() || is_author()) {  ?>
    this.href = this.href.replace('/page/', '&paged=');
    <?php }else{ ?>
    this.href = this.href.replace('/page/', '?paged=');
    <?php } ?>
});
    jQuery('.ast_pagenav a').on('click', function(e)  {
    jQuery('.ast_pagenav a, span.page-numbers').removeClass('current'); // remove if already existant
    jQuery(this).addClass('current');


    e.preventDefault();


    <?php wp_reset_query();
    $template = get_post_meta( get_the_ID(), '_wp_page_template', true );

虽然我认为这是相关部分,但整个摘录似乎相当庞大。

【问题讨论】:

  • 你一定是在使用一些你没有在这里展示的 JavaScript,对吧?
  • 我假设我正在使用的主题有一些标准的东西 - 我会四处寻找它并在编辑中发布它。谢谢你的提醒!
  • 寻找类似$('.page-numbers')jQuery('.page-numbers')的东西
  • 其实,我重新阅读了您的问题,我认为您没有问题。除了 URL 栏中显示的内容外,一切都很好,对吧?
  • 实际页面没有变化。似乎点击正在注册,但从未重定向。 &谢谢你的线索-看看我能不能找到它:)

标签: javascript html wordpress pagination


【解决方案1】:

更新:在 cmets 之后

如果帖子没有加载,您的 JS 会阻止默认链接行为(这很正常)。它还应该做的是使用 Ajax 调用您想要的页面( paged/2/ 或 paged/3/ 不管)并加载帖子或我们的 JS 以重定向到该页面。

原始答案 我不认为你有问题。您的 JS 正在拉动这些页面并动态加载它们,我认为实际上不需要更改 URL 栏中的地址。

【讨论】:

  • 看起来您的加载函数正在将此 .lay5_wrap .single_post 附加到 URL(并且可能会出现 404 错误或更糟(就像您尝试浏览到 http://bscserver.com/bsg/?page_id=49%3Fpaged%3D2?paged=1.lay5_wrap .single_post 时会得到的结果一样)
  • 谢谢!这解决了它。我从我的加载函数中删除了附加的 .lay5_wrap .single_post 并且 viola - 似乎正在工作。
  • 当然。我不确定它是否按预期工作,但我认为你的方向是正确的。
猜你喜欢
  • 2014-01-25
  • 2017-08-23
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 2016-04-05
  • 2020-05-17
  • 2017-08-06
  • 1970-01-01
相关资源
最近更新 更多