WordPress记录用户在$wpdb->users
(通常wp_users
) 列中的表user_registered
. 所以你可以用它来计算平均账户年龄。没有用于此的内部函数,因此您必须使用$wpdb
直接地
This stackoverflow answer 有一些关于计算一系列日期平均值的好信息。翻译成WordPress函数等:
<?php
function wpse106440_avg_account_age($ignore=1)
{
global $wpdb;
return $wpdb->get_col($wpdb->prepare(
"SELECT DATEDIFF(CURDATE(), MIN(user_registered)) / (COUNT(ID) - 1)"
. " FROM {$wpdb->users}"
. " WHERE ID <> %d",
$ignore
));
}
如果您是管理员,则用户ID为
1
, 然后
<?php
$avg_age = wpse106440_avg_account_age(1);
。。。将是不包括管理员的平均帐户年龄。
例如,如果要排除所有管理员级别的用户,则必须通过get_users
然后排除这些ID的数组(例如NOT IN
). WP没有针对角色和CAP的单独表,因此很难在SQL中直接使用它们进行查询——用户功能存储为序列化数组。