给网站添加统计功能在首页显示,这样能直观的显示博客的一些信息给访客。
在主题目录下建立文件wid-tongji.php
代码:
<?php //网站统计小工具 function git_tongji() { register_widget('git_tongji'); } add_action('widgets_init', 'git_tongji'); class git_tongji extends WP_Widget { function __construct() { $widget_ops = array( 'classname' => 'git_tongji', 'description' => '显示网站的统计信息' ); $this->WP_Widget(false, 'Git-网站统计', $widget_ops); } function form($instance) { $instance = wp_parse_args((array)$instance, array( 'title' => '网站统计', 'establish_time' => '2014-08-01' )); $title = htmlspecialchars($instance['title']); $establish_time = htmlspecialchars($instance['establish_time']); $output = '<table>'; $output.= '<tr><td>标题</td><td>'; $output.= '<input id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $instance['title'] . '" />'; $output.= '</td></tr><tr><td>建站日期:</td><td>'; $output.= '<input id="' . $this->get_field_id('establish_time') . '" name="' . $this->get_field_name('establish_time') . '" type="text" value="' . $instance['establish_time'] . '" />'; $output.= '</td></tr></table>'; echo $output; } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags(stripslashes($new_instance['title'])); $instance['establish_time'] = strip_tags(stripslashes($new_instance['establish_time'])); return $instance; } function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']); $establish_time = empty($instance['establish_time']) ? '2013-01-27' : $instance['establish_time']; echo $before_widget; echo $before_title . $title . $after_title; echo '<div class="tongji" ><ul>'; $this->efan_get_blogstat($establish_time); echo '</ul></div>'; echo $after_widget; } function efan_get_blogstat($establish_time /*, $instance */) { global $wpdb; $count_posts = wp_count_posts(); $published_posts = $count_posts->publish; $draft_posts = $count_posts->draft; $comments_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments"); $time = floor((time() - strtotime($establish_time)) / 86400); $count_tags = wp_count_terms('post_tag'); $count_pages = wp_count_posts('page'); $page_posts = $count_pages->publish; $count_categories = wp_count_terms('category'); $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users"); $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')"); $last = date('Y-n-j', strtotime($last[0]->MAX_m)); $output = '<li>文章总数:'; $output.= $published_posts; $output.= ' 篇</li>'; $output.= '<li>评论数目:'; $output.= $comments_count; $output.= ' 条</li>'; $output.= '<li>建站日期:'; $output.= $establish_time; $output.= '</li>'; $output.= '<li>运行天数:'; $output.= $time; $output.= ' 天</li>'; $output.= '<li>标签总数:'; $output.= $count_tags; $output.= ' 个</li>'; if (is_user_logged_in()) { $output.= '<li>页面总数:'; $output.= $page_posts; $output.= ' 个</li>'; $output.= '<li>分类总数:'; $output.= $count_categories; $output.= ' 个</li>'; $output.= '<li>友链总数:'; $output.= $link; $output.= ' 个</li>'; } if (get_option("users_can_register") == 1) { $output.= '<li>用户总数:'; $output.= $users; $output.= ' 个</li>'; } $output.= '<li>最后更新:'; $output.= $last; $output.= '</li>'; echo $output; } } ?>
然后在看看你主题有没有widgets目录,或者你也可以找找你主题小工具调用的文件在哪里,如果实在不清楚也没有这个目录,可以在主题functions.php
的头部添加代码:
include('wid-tongji.php'); //wid-tongji.php 是上方所创建的文件,这里需要注意调用的路径问题。
设置CSS显示样式(添加到主题style.css 文件中):
.tongji{ padding: 10px 20px 20px 20px; } .git_tongji li { float: left; width: 50%; }
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !