A-A+

wordpress通过按键实现文章翻页功能

2014年12月24日 PHP开源系统 暂无评论 阅读 30 views 次

今天发现 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.

标签:

给我留言