这次需要用到的是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;
把以上输出整合到回调函数即可。
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505