一、更改后台模版函数
本教程是为了解决那些刚刚创建的网站,被访客浏览时,网站文章阅读量数字显示个位或是十位数的尴尬,以下内容只针对于主题安装或是集成了wp-postviews插件的wordpress主题,通过以下wordpress插件的修改方法与wordpress主题的修改方法实现流量爆棚的效果。经测试,完美兼容dux主题。
后台模板函数 (functions.php),在最后添加如下代码即可,其中范围数值可根据实际情况自行修改:
<p>/* 文章浏览数量统计 /* -------------------------------- */ add_action( 'wp_footer', 'cx_statistics_visitors',9999 ); /* 文章浏览数量统计 /* -------------------------------- */ function cx_statistics_visitors( $cache = false ){ global $post; //页面判断 if(is_single()): //非缓存模式获取id $id = $post->ID; //判断条件,不满足条件终止执行 if( ( !is_singular() && !$cache ) || !$id ) return false;</p> if( WP_CACHE && !$cache ){?> <script type="text/javascript"> $(function(){ $.ajax({ type: 'GET', dataType: 'html', url: chenxing.ajax_url, data:"id=<?php echo $id;?>&action=visitors", cache: false, success: function(data){ if(data>0){ $('.cx-views').text(data/10); } } } ); }); </script> <?php return false; }else{ $post_views = (get_post_meta($id,'views',true))?(int) get_post_meta($id,'views',true ):0; update_post_meta($id,'views',($post_views +mt_rand(61, 367))); } endif; } function Bing_statistics_cache(){ //缓存模式获取文章id $id = ($_GET['id'])?$_GET['id']:0; if($id){ $post_views = (get_post_meta($id,'views',true))?(int) get_post_meta($id,'views',true ):0; update_post_meta($id,'views',($post_views +mt_rand(56, 267))); echo $post_views+1; }else{ echo '-1'; } } add_action( 'wp_ajax_nopriv_visitors', 'Bing_statistics_cache' ); add_action( 'wp_ajax_visitors', 'Bing_statistics_cache' ); function Bing_get_views($display = true ,$id = 0){ global $post; if($id == 0){ $post_id = $post->ID; }else{ $post_id = $id; } $views = (int) get_post_meta( $post_id, 'views', true ); if($display) { if($views>1000000){ echo '100万+</br>'; }else if($views>10000){ echo round(($views/10000),1).' 万'; }else if($views>1000){ echo $views; }else{ echo $views; } } else { return $views; } }
二、后台编辑器入手
所以考虑在编辑界面调用一下,试了一下还真的可以。
找到/wp-admin/edit-form-advanced.php中的<div id=”post-body-content”>,加到这下面
<div> <?php global $post; $post_ID = $post->ID; if ($post_ID) { $post_views = (int) get_post_meta($post_ID, 'views', true); $min = 500; $max = 2000; //如果阅读量小于$min,则自动计算一个$min~$max的随机数作为阅读量 if($post_views<$min){ $post_views=rand($min,$max); } if (!update_post_meta($post_ID, 'views', ($post_views + 1))) { add_post_meta($post_ID, 'views', 1, true); } } echo _get_post_views(); ?> </div>
新建文章直接就有阅读量,是不是有点6。
<div class="image-package"> <div class="image-container"> </div> </div>
因为最终修改了/wp-admin/edit-form-advanced.php这个文件,所以就跟具体的theme无关了,echo _get_post_views();是dux主题提供的代码,注释掉就行
最后说明以下方法二是否失效不好说。因为方法二某些版本可能已经失效,建议已经升级到最新版本的网站不要使用