WordPress 非插件统计网站信息

林继 WordPress 2,761 共写了830个字 (2010-08-26 12:19:49) 没有评论 打印 扫描二维码 百度已收录

出处:来自网络
这里说的 WordPress 网站统计信息不是只 IP、PV 这类的流量信息,而是指 WordPress 日志数量、评论数量、页面、分类等等的统计信息,以前看到过别人用 WP statistics 这类的插件来实现这个功能,不过了解我的朋友们都应该知道啦,我的原则是能用代码搞定的就决不用插件解决,所以今天又折腾了用非插件来显示网站统计信息的功能。

1、日志总数:

  1. <?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?>

2、草稿数目:

  1. <?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?>

3、评论总数:

  1. <?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?>

4、成立时间(网站运行):

  1. <?php echo floor((time()-strtotime("2008-8-18"))/86400); ?>

5、标签总数:

  1. <?php echo $count_tags = wp_count_terms('post_tag'); ?>

6、页面总数:

  1. <?php $count_pages = wp_count_posts('page'); echo $page_posts = $count_pages->publish; ?>

7、分类总数:

  1. <?php echo $count_categories = wp_count_terms('category'); ?>

8、链接总数:

  1. <?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>

9、用户总数:

  1. <?php $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users"); echo $users; ?>

10、最后更新:

  1. <?php $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));echo $last; ?>

  方法来源:http://sunsunsun.org/wordpress/wp-tutorials/also-get-rid-of-a-plugin-wordpress-statistics-code.html

11、今天更新:X篇;两处地方添加相应代码

  1. //今天更新的文章篇数
  2. function get_today_posts_count($type = 'post', $date = ''){
  3.     global $wpdb;
  4.  
  5.     $count = wp_cache_get($type, 'today_counts');
  6.     if ( false !== $count )
  7.         return $count;
  8.  
  9.     $gt = preg_match('(\d{4}-\d{2}-\d{2})', $date) > 0?$date:date_i18n('Y-m-d');
  10.     list($year, $month, $day) = preg_split('[-]', $gt);
  11.     $time = mktime(0, 0, 0, $month, $day, $year) + 60 * 60 * 24;
  12.     $lt = date_i18n('Y-m-d', $time);
  13.  
  14.     $query = "
  15.         SELECT
  16.             COUNT(ID)
  17.         FROM
  18.             {$wpdb->posts} p
  19.         WHERE
  20.             p.post_status = 'publish'
  21.         AND p.post_type = %s
  22.         AND p.post_date > %s
  23.         AND p.post_date < %s
  24.     ";
  25.     $count = $wpdb->get_var($wpdb->prepare($query, $type, $gt, $lt));
  26.  
  27.     wp_cache_set($type, $count, 'today_counts');
  28.     return $count;
  29. }

然后在前台模板引用以下代码:

  1. 本站今天更新:<?php echo get_today_posts_count(); ?>

12、本站历史访问人次:X次
注:这个需要安装开启Postviews插件,要不然页面出现代码错误提示!

  1. 本站历史访问人次:<?php get_totalviews(true, true, true); ?>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >