统计浏览次数
这个功能做得比较简单,没有做用户及ip去重,只是单纯的统计页面打开次数,将下面代码加入模板的function.php中即可
- /**
- * 设置阅读次数
- * 注意count_key, 后续都是根据这个来统计的
- */
- function set_post_views () {
- global $post;
- $post_id = $post -> ID;
- $count_key = 'views';
- $count = get_post_meta($post_id, $count_key, true);
- if (is_single() || is_page()) {
- if ($count == '') {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, '0');
- } else {
- update_post_meta($post_id, $count_key, $count + 1);
- }
- }
- }
- add_action('get_header', 'set_post_views');
获取浏览次数
下面函数可以获取浏览次数,在需要显示的地方调用即可
- /**
- * 阅读次数
- * count_key与set函数的count_key一致
- */
- function get_post_views ($post_id) {
- $count_key = 'views';
- $count = get_post_meta($post_id, $count_key, true);
- if ($count == '') {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, '0');
- $count = '0';
- }
- echo number_format_i18n($count);
- }
使用示例
最常规的使用应该是文章详情中,一般是文章页面 (single.php)的while ( have_posts() )后面,部分single.php中有get_template_part( ‘template-parts/content’, ‘single’);则需要到conent加上下面的代码
- <?php get_post_views($post -> ID); ?> 阅读
显示评论次数
在上面浏览次数之后,可以加上评论次数显示
- <?php get_post_views($post -> ID); ?> 阅读
-  / 
- <?php comments_number('暂无评论', '1条评论', '% 评论' );?>
在后台文章列表统计中增加浏览次数
- require_once( trailingslashit( get_template_directory() ) . 'trt-customize-pro/newslite/class-customize.php' );
- //在后台文章列表增加一列数据
- add_filter( 'manage_posts_columns', 'ashuwp_customer_posts_columns' );
- /**
- * 注意"views"需要与之前统计set方法一致
- */
- function ashuwp_customer_posts_columns( $columns ) {
- $columns['views'] = '浏览次数';
- return $columns;
- }
- //输出浏览次数
- add_action('manage_posts_custom_column', 'ashuwp_customer_columns_value', 10, 2);
- /**
- * 注意"views"需要与之前统计set方法一致
- */
- function ashuwp_customer_columns_value($column, $post_id){
- if($column=='views'){
- $count = get_post_meta($post_id, 'views', true);
- if(!$count){
- $count = 0;
- }
- echo $count;
- }
- return;
- }
版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
评论