为wordpress添加运行天数等站点统计信息
为wordpress添加运行天数、文章数量、分类数量 等站点统计/网站统计信息,可以将它们添加到小工具上,然后放到侧栏显示。
这也是到处挖过来的,现在不能直接在wp自带的文本小工具中加原来的统计函数了。
所以要加到模板文件中调用,最后自己加CSS 套一套自己的主题样式化。
将下面的代码放入主题目录的functions.php文件中。
//网站统计小工具 add_action('widgets_init', create_function('', 'return register_widget("widget_tongji");')); class widget_tongji extends WP_Widget { function widget_tongji() { $option = array('classname' => 'jv-tongji', 'description' => '网站统计' ); $this->WP_Widget(false, 'INLO-网站统计', $option); } function widget($args, $instance) { extract($args, EXTR_SKIP); echo $before_widget; $title = empty($instance['title']) ? '最新评论' : apply_filters('widget_title', $instance['title']); $time = empty($instance['time']) ? '建站日期' : apply_filters('widget_count', $instance['time']); echo $before_title . $title . $after_title; echo '<ul class="tongji" style=" border-top: none;">';?> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">文章总数:<?php $count_posts = wp_count_posts();echo $published_posts = $count_posts->publish;?>篇</li> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">评论总数:<?php $count_comments = get_comment_count();echo $count_comments['approved'];?>条</li> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">页面总数:<?php $count_pages = wp_count_posts('page'); echo $page_posts = $count_pages->publish; ?> 个</li> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">分类总数:<?php echo $count_categories = wp_count_terms('category'); ?>个</li> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">标签总数:<?php echo $count_tags = wp_count_terms('post_tag'); ?>个</li> <li style="color: #6E7173;line-height: 20px;display: block;border-bottom: 1px solid #E3E3E3;padding: 5px 10px 5px 10px;">运行天数:<?php echo floor((time()-strtotime($time))/86400); ?> 天</li> <?php echo '</ul>'; echo $after_widget; } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['time'] = strip_tags($new_instance['time']); return $instance; } function form($instance) { $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'count' => '' ) ); $title = strip_tags($instance['title']); $time = strip_tags($instance['time']); echo '<p><label>标题:<input id="'.$this->get_field_id('title').'" name="'.$this->get_field_name('title').'" type="text" value="'.attribute_escape($title).'" size="24" /></label></p>'; echo '<p><label>建站日期:<input id="'.$this->get_field_id('time').'" name="'.$this->get_field_name('time').'" type="text" value="'.attribute_escape($time).'" size="24" /></label></p>'; } }
最后不要忘记添加相应的样式,上面的代码已经有一部分样式了,具体的样式需要根据个人所使用的主题进行调整
怎么调?注意审查你主题的侧边栏的class样式,按格式套上去即可。
WordPress