如果能用键盘方向键实现上下翻页操作是不是会很方便,闲来无事,折腾一下键盘实现WordPress翻页功能。实现方法很简单,一段JS代码搞定。

  1. // 键盘翻页
  2. <?php wp_reset_query();if (is_home() || is_archive() || is_search()) { ?>
  3. <script type="text/javascript">
  4.     document.onkeydown = chang_page;function chang_page(e) {
  5.         var e = e || event,
  6.         keycode = e.which || e.keyCode;
  7.         if (keycode == 33 || keycode == 37) location = '<?php echo get_previous_posts_page_link(); ?>';
  8.         if (keycode == 34 || keycode == 39) location = '<?php echo get_next_posts_page_link(); ?>';
  9.     }
  10. </script>
  11. <?php } ?>
  12. <?php wp_reset_query();if (is_single()) { ?>
  13. <script type="text/javascript">
  14. document.onkeydown = chang_page;function chang_page(e) {
  15.     var e = e || event,
  16.     keycode = e.which || e.keyCode;
  17.     if (keycode == 33 || keycode == 37) location = '<?php echo get_permalink(get_adjacent_post(false, '', false)); ?>';
  18.     if (keycode == 34 || keycode == 39) location = '<?php echo get_permalink(get_adjacent_post(false, '', true)); ?>';
  19. }
  20. </script>
  21. <?php } ?>

将上面JS代码加到主题头部模版header.php或页脚模版footer.php中即可。按键盘上的左右方向键及Page UpPage Down试一下是不是很方便。可实现文章列表页面及正文上下篇翻页。

不过正文键盘翻页会影响留言编辑时用键盘移动光标,所以可以把<?php wp_reset_query();if (is_single()) { ?> 及后面的删除,只在文章列表页面使用键盘翻页。

另外,还有人专门为实现这一功能制作了插件:Easy keyboard shortcut navigation,上述代码就是从中提取并修改而来,可能是因为一句JS代码可实现的功能,所以很少有人会使用这个插件,结果插件评分是零,呵呵。