这次需要用到的是wp_dashboard_setup这个钩子,官方的描述是,用于添加或者删除WordPress仪表板的相关选项。当然只有这个钩子还不够,我们需要添加小工具到仪表盘,所以还需要借助 wp_add_dashboard_widget() 这个函数。
实现代码如下,将下面代码加入到主题的functions.php中后,打开后台仪表盘页面即可查看效果。
//添加仪表盘面板 function guihet_add_dashboard_widgets() { wp_add_dashboard_widget('custom_help_widget', '自定义信息', 'custom_dashboard_guihet'); } add_action('wp_dashboard_setup', 'guihet_add_dashboard_widgets' ); //面板内容 function custom_dashboard_guihet() { global $wpdb; $todate = date("Y-m-d"); $sql = "SELECT COUNT(*) AS num FROM `wp_users` WHERE SUBSTRING(`user_registered`,1,10)='" . $todate . "'"; $results = $wpdb->get_results($sql); //$sqlb = "SELECT SUM(`meta_value`) as num FROM `wp_postmeta` WHERE `meta_key`='views'"; //自定义字段 echo '<ul>'; echo '<li>今日注册用户数:'.$results[0]->num.'</li>'; //echo '<li>文章阅读总数:'.$wpdb->get_results($sqlb)[0]->num.'</li>'; echo '</ul>'; }
wp_users是你的用户数据表,由于不同主题的浏览阅读存储字段名不一致,所以需要自行修改。wp_postmeta的表前缀不一样的也要改,views是存储字段名。
上面先是使用wp_dashboard_setup这个钩子挂载guihet_add_dashboard_widgets函数,用来添加小工具。在其中又使用了wp_add_dashboard_widget函数添加了一个名叫 custom_dashboard_guihet 的回调函数,用来处理小工具中显示的内容。
如果要跟站长一样要获得今日登录用户数量,需要先添加一个字段用来存储用户登录的时间,或者用其他办法也可以
1、添加上次登录字段
add_filter('user_contactmethods', 'dmd_add_contact_fields'); function dmd_add_contact_fields($contactmethods) { $contactmethods['last_login'] = '上次登录'; return $contactmethods; }
2、自动记录登录时间
function insert_last_login($login) { global $user_id; $user = get_userdatabylogin($login); update_user_meta($user->ID, 'last_login', current_time('mysql')); } add_action('wp_login', 'insert_last_login');
3、获取今日登录用户数量
global $wpdb; $todate = date("Y-m-d"); $querystr = "SELECT count(*) as num FROM `wp_usermeta` WHERE `meta_key`='last_login' AND SUBSTRING(`meta_value`,1,10)='" . $todate . "'"; $results = $wpdb->get_results($querystr); echo $results[0]->num;
把以上输出整合到回调函数即可。