因为自己需要统计公司每个人每天的发帖量,每天干重复的工作就很无聊,也要花费5-10分钟,甚至更长时间,而且还会出错。于是就写了一个自动获取某个用户某天的发帖量,一下子统计出来,还能做成一个图表、还能邮件/短信提醒每个人文章差几篇,甚至连记录每天数量的事情都给省了。
我系统是wordpress的系统,于是就自己写了如下的PHP:
define('WP_USE_THEMES', false); //无需使用主题include_once('./wp-load.php'); //根据wordpress路径来调用 需要同服务器下//获取某人某天的发帖量function get_posts_count($userid,$date) {global $wpdb;$numposts = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM `wp_posts` WHERE`post_author` = $useridAND post_type= 'post'AND post_status= 'publish'AND post_date between '$date 00:00:00' and '$date 23:59:59';"));return $numposts;}//$userid 为用户ID号;$date为时间,比如:2021-06-22define('WP_USE_THEMES', false); //无需使用主题 include_once('./wp-load.php'); //根据wordpress路径来调用 需要同服务器下 //获取某人某天的发帖量 function get_posts_count($userid,$date) { global $wpdb; $numposts = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) FROM `wp_posts` WHERE `post_author` = $userid AND post_type= 'post' AND post_status= 'publish' AND post_date between '$date 00:00:00' and '$date 23:59:59';") ); return $numposts; } //$userid 为用户ID号;$date为时间,比如:2021-06-22define('WP_USE_THEMES', false); //无需使用主题 include_once('./wp-load.php'); //根据wordpress路径来调用 需要同服务器下 //获取某人某天的发帖量 function get_posts_count($userid,$date) { global $wpdb; $numposts = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) FROM `wp_posts` WHERE `post_author` = $userid AND post_type= 'post' AND post_status= 'publish' AND post_date between '$date 00:00:00' and '$date 23:59:59';") ); return $numposts; } //$userid 为用户ID号;$date为时间,比如:2021-06-22
其实挺简单的,主要是sql语句,可以移植到任何系统中,统计任何信息。单有个前提,数据库中必须有关于时间的一个字段,比如上面的post_date就是一个类似于2021-06-22 00:00:00的一个时间,其余的筛选条件可以按自己情况修改和删除。
© 版权声明
THE END
暂无评论内容