如果沒有任何參數傳遞給privatemsg_unread_count(),它將返回未讀郵件的數量爲當前登錄的用戶。該函數接受一個參數,並且這是一個用戶對象。
如果您有一個用戶ID列表,您可以使用以下代碼來獲取每個用戶的未讀消息數。
foreach ($uids as $uid) {
$account = user_load($uid);
$count = privatemsg_unread_count($account);
// ...
}
如果沒有用戶ID的列表,你有興趣獲得的未讀郵件的數量爲每個用戶,可以使用下面的代碼。
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'user')
->entityCondition('entity_id', 0, '>')
->propertyCondition('status', 1)
->addTag('DANGEROUS_ACCESS_CHECK_OPT_OUT');
$result = $query->execute();
if (isset($result['user'])) {
$accounts = user_load_multiple(array_keys($result['user']));
foreach ($accounts as $account) {
$count = privatemsg_unread_count($account);
// ...
}
}