A-A+
wordpress通过按键实现文章翻页功能
今天发现 wordpress 一个有趣的功能,就是通过键盘来进行翻页效果,感觉很好玩就研究了一下,原来这种功能是通过 JS 的键盘事件监听来实现的,例如我们想要实现这样 alt+A上一页,alt+S下一页,alt+Q第一页,alt+T最后一页,alt+C随机文章 这样来进行翻页,直接上代码:
<?php add_action('wp_footer','v7v3_keyCode'); function v7v3_keyCode(){ global $paged, $wp_query; if ( !$max_page ) $max_page = $wp_query->max_num_pages; if ( !$paged ) $paged = 1; $nextpage = intval($paged) + 1; ?> <?php if( is_single() ) : ?> <script type="text/javascript"> document.onkeydown = v7v3_page;function v7v3_page(e) { var e = e || event, keycode = e.which || e.keyCode; var obj = e.target || e.srcElement; if(obj.tagName.toLowerCase()=="textarea"){return;} if(obj.tagName.toLowerCase()=="input"){return;} if (keycode == 37) location = '<?php echo get_permalink(get_adj acent_post(false,'',false)); ?>'; if (keycode == 39) location = '<?php echo get_permalink(get_adj acent_post(false,'',true)); ?>'; } </script> <?php elseif( is_home() || is_category() ) : ?> <script type="text/javascript"> document.onkeydown = v7v3_page;function v7v3_page(e) { var e = e || event, keycode = e.which || e.keyCode; var obj = e.target || e.srcElement; if(obj.tagName.toLowerCase()=="textarea"){return;} if(obj.tagName.toLowerCase()=="input"){return;} if (keycode == 37) location = '<?php echo get_previous_po sts_page_link(); ?>'; if (keycode == 39) <?php if ( $nextpage <= $max_page ) : ?> location = '<?php echo get_next_posts_page_link(); ?>'; <?php else : ?> location = '<?php echo get_pagenum_link( $max_page ); ?>'; <?php endif; ?> } </script> <?php endif; ?> <?php } ?>
将代码放入到 wordpress 主题的 function.php 文件中即可,现在快来测试下吧。
本代码来自于 维7维3.