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.