正在检测所有已登录的管理员

时间:2016-02-04 作者:user88140

我正在尝试查找所有登录WordPress的用户。

我可以检测到自己,但我想找到其他管理员。这是我目前的代码,可以找到我自己。

if (user_can( $current_user, \'administrator\' )) {
      echo \'<div class="admin"> User currently logged in "\' 
          . $current_user->user_login . \'"</div>\';
} 

3 个回复
SO网友:Mark Kaplun

Wordpress没有“登录”的真正概念。尽管周围的标签都使用这个术语,但在代码中,最接近的可能是所谓的“经过身份验证的用户”。不同之处在于,经过身份验证的用户可能是关闭了浏览器的用户,因此他没有“登录”。

要想做你想做的事,你首先需要定义“登录”对你意味着什么,并实现一些逻辑来检测它。例如,您可以使用ajax更新一个用户仍处于连接状态,如果该用户在5分钟内没有更新,则可以将其从“登录”列表中删除。

它不是微不足道的,但实现起来也不是很复杂。

SO网友:LukeWarm

在init上设置一个临时值,比如说,5分钟,只要当前用户(在本例中是任何管理员)在闲逛,它就会一直更新。将这些活动瞬态的列表从短代码转储到页面中。这应该可以做到。

SO网友:flomei

除了马克·卡普伦所说的之外,你还可以看看User Meta Sessions Tokens. 他们可以告诉您是否有特定用户的活动会话。但这并不意味着用户在站点上处于活动状态并正在做一些事情,而是意味着他成功登录。

无论如何,不要相信任何人告诉你使用is_user_logged_in()! 这不是该功能的工作方式。

相关推荐

WordPress网站损坏,链接失效,无法访问wp-admin页面

我刚刚收到一个坏掉的Wordpress网站,我现在负责管理这个网站。编辑:自从发布这篇文章以来,我对自己的问题有了一些新的发现。当尝试访问Wordpress管理页面(通过单击登录仪表板的链接)时,我得到一个404未找到页面。此404错误页面与所托管网站上的所有其他页面具有相同的品牌(背景和样式)。我猜我的链接断了。网站上的身份验证页面不起作用,我无法访问前面所述的管理门户。我有权访问根目录和wp content文件夹。该页面由wordpress托管,我通过启用sftp访问root。我还可以访问phpMyA