- 需求场景
作为一个博主,能够直观的获取并展现自己站点的数据,体现的价值在一定程度上是对自己的一种肯定和对需求者的一种贴心。
今天博主就针对本站主题添加相关统计的功能:小站运行时间、站点已发布博文总数、站点评论总数、文章字数、文章阅览量;
配置步骤:
正如本站展示的那样,主要添加了两个方面的统计:
站点右边侧跳动牌下面,添加一个全站统计碑,包含运行时间、博文总数、评论总数;
在每篇博文摘要的下方,添加了单一博文统计:BY作者、博文字数、博文浏览量;
①、针对单一博文的统计:字数、浏览量
首先是文章,这个比较简单,直接调用即可,但需要注意的是,最好在后台给每个作者用户名修改昵称!
By <?php the_author(); ?>、
其次是文章的字数,这个在后台其实在后台编辑器有统计的功能,但这个是动态改变的,博主不知道怎么如何调用:
<td id="wp-word-count" class="hide-if-no-js"><?php printf( __( 'Word count: %s' ), '<span class="word-count">0</span>' ); ?></td>
所以借鉴了网上的一段代码、原文:知更鸟、为wordpress添加文章字数统计
正如此文所说,如果对中文博客的文章中文文字数统计,使用下面一段代码即可:
//<定义文章字数统计>
function count_words($text){
global $post;
if ( '' == $text ) {
$text = $post->post_content;
if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '原创共计 ' . mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') . ' 字 ';
return $output;
}
}
把上面的function代码添加到站点主题目录下面的function.php文件最后的“?>”里面即可;
然后把下面一段代码放到你想展现的地方即可实现直观的获取文章字数:
<?php echo count_words ($text); ?>
最后是文章的浏览量,这个本来博主也是本着能用代码实现就不用插件的原则,但无尝试了好几个,都不好使,可能是本站主题兼容问题。
所以这里采用了也被大量道友使用的“wp-postviews”插件,直接在后台插件处就可以直接安装插件,具体配置保持默认即可,当然可以修改一下浏览量的显示格式“views template”,并选择是否关闭机器人的浏览“Exclude Bot views”避免刷量从而造成数据不实在,也可以选择一设置一下被统计的用户群“count views from”:所有人、仅访客、仅管理员;当然你可以配置一下“most viewed template”最受欢迎文章,这里因为本站点主题排版问题,就不做调用。
有关postviws插件具体配置可参考:老K博客、WP-PostViews的后台设置五步法详解
<?php if(function_exists('the_views')) { the_views(); } ?>
以上,我们知道了三个数据的获取方式,下面就可以按照自己的需求和展现方式配置代码了,这里博主是这么配置的:
(By <?php the_author(); ?>、<?php echo count_words ($text); ?>、浏览 <?php if(function_exists('the_views')) { the_views(); } ?>)
②、针对全站博文、评论、运行时间的统计:
这个其实更简单一些,因为我们都可以直接使用代码调用:
这里我使用了一个fieldset的方框做了一个统计碑嵌入到我的侧边栏跳动的欢迎图标下面:
<p><fieldset style="margin:-25px 2px;padding:0px 0px 0px 10px">
<legend><strong> 公牛博客·统计碑</strong></legend>
运行:<?php echo floor((time()-strtotime("2016-06-06"))/86400); ?> D<br/>
博文:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> P<br/>
评论:<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?> S<br/>
</fieldset></P>
上面唯一要注意的就是获取运行时间的代码里,把“2016-06-06”时间修改成自己站点创建的时间即可!
(好的就分享到这里,如果您有高见或好的分享,记得留言哦!)