首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Privatemsg未读邮件

更改Privatemsg未读邮件
EN

Stack Overflow用户
提问于 2012-12-22 02:51:23
回答 1查看 662关注 0票数 0

我运行一个完整的服务站点,为多个客户端管理不同的用户帐户。我已经修改了privatemsg,这样管理员用户就可以访问任何消息。我有一个关于如何为每个用户显示未读消息的问题。我现在拥有的代码只显示登录用户的未读消息。代码如下:

代码语言:javascript
复制
$count = privatemsg_unread_count();
if ($count) {
print l( '(' . (int)privatemsg_unread_count() .' new)' , "messages",  array('title' => 'View Inbox')); 
}
EN

回答 1

Stack Overflow用户

发布于 2012-12-23 00:21:41

如果您不向privatemsg_unread_count()传递任何参数,它将返回当前登录用户的未读消息数。该函数接受一个参数,这是一个用户对象。

如果您有一个用户ID列表,您可以使用以下代码来获取每个用户的未读消息数。

代码语言:javascript
复制
foreach ($uids as $uid) {
  $account = user_load($uid);
  $count = privatemsg_unread_count($account);
  // ...
}

如果您没有用户If列表,并且希望获得每个用户的未读消息数,则可以使用以下代码。

代码语言:javascript
复制
$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);
    // ...
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13995587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档