北极寒流 » 网络资源 » WordPress文章点击统计ajax版,兼容wp super cache缓存代码及插件 - 2016.09.05

WordPress文章点击统计ajax版,兼容wp super cache缓存代码及插件

一般情况下使用了wp super cache缓存插件后,文章点击统计就会变的失效了,不过采用ajax就可以解决问题。

第一步:在wordpress根目录下,新建ajax.php.内容如下

<?php
define( 'DOING_AJAX', true );
require_once( 'wp-config.php' );
do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
die( '0' );

第二步:在主题目录下的functions.php添下以下代码

//WordPress文章点击统计ajax版,兼容wp super cache缓存代码及插件
add_action( 'wp_ajax_nopriv_v', 'views' );
function views($echo) {
    $post_id = intval( $_GET['views_id'] );
    if( $post_id > 0 ) {
        $post_views = get_post_custom( $post_id );
        $post_views = intval( $post_views['views'][0] );
        update_post_meta( $post_id, 'views', ( $post_views + 1 ) );
        exit();
    }
    if ($echo == 1) {
        global $post;
        $post_ID = $post->ID;
        $views = (int)get_post_meta($post_ID, 'views', true);
        echo number_format($views);
    }
}

第三步:引入jquery库,如果你的主题已有引入,就不用再添加了。

第四步:在footer.php文件body之前添加

<?php if( is_single() ){?>
<script type='text/javascript'>
/* <![CDATA[ */var v = {"u":"\/ajax.php","id":"<?php the_ID(); ?>"};/* ]]> */
jQuery.ajax({type:"GET",url:v.u,data:"views_id="+v.id+"&action=v"});
</script>
<?php } ?>

第五步:完毕,接下来在需要显示的计数的主循环内添加以下代码即可阅读

<?php views(1);?>

如果小白博主觉得本篇文章太复杂,建议直接使用wp-postviews这个插件,简洁且多功能。

资料来源:http://www.dedewp.com/8153.html

发表评论 【登录·注册】

所有留言都会被审核,请勿发布垃圾评论!

(必填)*