【问题标题】:How to get the link of prev/next wp_link_pages and redirect it with js?如何获取prev/next wp_link_pages的链接并用js重定向?
【发布时间】:2018-08-23 20:04:47
【问题描述】:

我想用导航箭头键进行分页,我已经创建了重定向它的代码,但我不知道如何获取上一页/下一页 wp_link_pages 的链接。 有什么帮助吗?

<script>
window.addEventListener("keydown", function (event) {
  if (event.defaultPrevented) {
    return;
  }

  switch (event.key) {
    case "ArrowLeft":
      location.href = '<?php echo $previous_page_url; ?>';
    break;
    case "ArrowRight":
        location.href = '<?php echo $next_page_url;?>';
    break;
    default:
      return;
  }

  event.preventDefault();
}, true);
</script>

【问题讨论】:

  • 我已经阅读了所有内容,但没有找到任何可用于此问题的信息。
  • 你可以直接使用这个函数在页面上的某个地方输出链接,如果你不希望用户看到它们就隐藏它们(虽然可能是个坏主意;不是每个人都可能使用键盘导航,甚至在他们用来查看您的网站的设备上键盘),然后让您的 JS 从那里读取 URL(或触发对这些链接的点击。)
  • 如果这不符合您的需要,如果您检查该函数的源代码,您会注意到它使用了一个辅助函数_wp_link_page,它只获取您想要的页面的索引导航到作为参数传递,因此如果您知道当前“在”的位置,您可以使用它来生成单个链接(或者如果您不想要链接的实际 HTML 代码,则将其作为起点,但是仅限网址。)
  • 好的,谢谢您的建议和信息。我会检查源代码,并搜索可能与 wp_link_pages 相关的其他功能

标签: javascript php wordpress


【解决方案1】:

试试这些:

get_permalink() . ( $page - 1 )
get_permalink() . ( $page + 1 )

你可以像这样使用它们:

switch (event.key) {
    case "ArrowLeft":
      location.href = '<?php $page > 1 ? get_permalink() . ( $page - 1 ) : get_permalink(); ?>';
    break;
    case "ArrowRight":
      location.href = '<?php echo $page < $numpages ? get_permalink() . ( $page + 1 ) : get_permalink(); ?>';
    break;
    default:
      return;
}

【讨论】:

  • 不,不是那样。我用 将帖子分成几页
  • 谢谢!这是与这个问题完美契合的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
相关资源
最近更新 更多