WordPress主题添加博客统计小工具的方法

44次阅读
2024年08月21日 16:39:23

共计 3980 个字符,预计需要花费 10 分钟才能阅读完成。

我们可以在网站首页添加一个博客统计小工具,来统计网站的数据,包括浏览次数、评论数、文章数等等,统计功能在首页显示,这样能直观的显示博客的一些信息给访客。

方法一、

<ul class="blog_info">
<li>建站时间:2023-2-07</li>
<li>博客运行:<?php echo floor((time()-strtotime("2014-03-30"))/86400);?> 天</li>
<li>发表文章:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> 篇</li>
<li>拥有页面:<?php $count_pages = wp_count_posts('page'); echo $page_posts = $count_pages->publish;?> 个</li>
<li>设立分类:<?php echo $count_categories = wp_count_terms('category');?> 种</li>
<li>创建标签:<?php echo $count_tags = wp_count_terms('post_tag'); ?> 个</li>
<li>网友评论:<?php $total_comments = get_comment_count(); echo $total_comments['approved'];?> 条</li>
<!--需安装WP-Postviews-->
<li>点击流量:<?php get_totalviews(true, false, true); ?> 次</li>
</ul>

方法二、

在主题目录下建立文件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' => '2023-02-07'
));
$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']) ? '&nbsp;' : $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;
}
}
?>

在主题functions.php里添加如下代码:

include('tongji.php'); //tongji.php 是上方所创建的文件,这里需要注意调用的路径问题。

设置CSS显示样式(添加到主题style.css文件中):

.tongji{
padding: 10px 20px 20px 20px;
}
.git_tongji li {
float: left;
width: 50%;
}

WordPress还是很方便的,也是一个不错的建站程序:

WordPress主题添加博客统计小工具的方法
正文完
 0
鹿泽
版权声明:本站原创文章,本文由 鹿泽 于 2024年8月21日 16:39:23 发表,共计 3980 字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
最新文章
网站优化seo推广服务如何做好内链?

网站优化seo推广服务如何做好内链?

在一个网站刚刚建设的初期,网站内链的建设工作尤为重要,可以说网站内链做得好SEO就成功了一半。今天就来讲讲网站...
WordPress博客主题二次元风-lolimeow主题更新10.1版,重构样式

WordPress博客主题二次元风-lolimeow主题更新10.1版,重构样式

一个WordPress博客主题二次元风主题,本站之前启用过,后面更换了,不过很好看,适合大家选择使用: 202...
专业优化公司seo是怎么做好404页面的?

专业优化公司seo是怎么做好404页面的?

404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其它页面而不是关闭窗口离开。...
网站搜索优化seo如何做好内部链接优化?

网站搜索优化seo如何做好内部链接优化?

网站内部链接的布局很多做SEO的朋友都知道,非常重要。网站想做的越大,就要更加重视内部链接的布局。因为良好的内...
影响关键词优化根本的排序因素

影响关键词优化根本的排序因素

对于像百度搜索来说,并没有排序这一说法,搜索引擎认为排序是在特定的关键词下网站内容的位置,而关键词是由用户搜索...