WordPress实现文章阅读量代码

wordpress主题制作的时候,文章阅读量是常用的技巧,文章阅读量代码:

function myuee_set_post_views() {
	global $post;
	if( ! isset( $post->ID ) || ! is_singular()  ) return;
	$cookie_name = 'views_' . $post->ID;
	if( isset( $_COOKIE[$cookie_name] ) ) return;
	$post_views = (int) get_post_meta( $post->ID, 'views', true );
	if( empty( $post_views ) ) {
		$post_views = 1;
	} else {
		$post_views = $post_views + 1;
	}
	update_post_meta( $post->ID, 'views', $post_views );
	setcookie( $cookie_name, 'yes', ( current_time( 'timestamp' ) + 86400 ) );
}
add_action( 'get_header', 'myuee_set_post_views' );

代码中86400是指同一浏览器访问24小时内不重复计数,避免刷阅读数.当然也可以复杂点加入判断访问ip代码的方法.

读取文章阅读量代码:

function myuee_post_views($post_ID = '') {
	global $post;
	$post_id = $post_ID;
	if( ! $post_id ) $post_id = $post->ID;
	if( ! $post_id ) return;
	$post_views = (int) get_post_meta( $post_id, 'views', true );
	if( empty( $post_views ) ) $post_views = 0;
	return $post_views;
}

以上代码放到主题文件functions.php中,在需要显示文章阅读数的地方调用:

<?php echo myuee_post_views(); ?>

是不是很简单?