在未完全加载WordPress的情况下检查用户是否已连接且Get为ID

时间:2015-08-27 作者:gagarine

我正在为WP编写高级缓存。我尝试让它与连接的用户一起工作。我想计算auser context hash.

要构建哈希,我需要一种方法来快速知道用户是否已登录,并从高级缓存获取用户ID。php。因此,在WP完全加载之前。使用is用户ID后,我可以简单地执行SQL查询以了解is角色,并使用此信息构建哈希。

我阅读了wp\\u validate\\u auth\\u cookie和其他相关函数,但没有找到应该如何使用它。

1 个回复
SO网友:Krzysiek Dróżdż

WordPress将登录用户的user\\u名称存储在auth cookie中。Auth cookie已签名,因此很容易检查它是否是假的,因此您可以信任此信息。

好的,那么如何从cookie中获取用户的user\\u名称呢?

有这样的功能;)

wp_parse_auth_cookie

这就是它的回报:

return compact( \'username\', \'expiration\', \'token\', \'hmac\', \'scheme\' );
因此,您可以使用以下内容:

$cookie = wp_parse_auth_cookie( \'\', \'logged_in\' );
$user_name = $cookie[\'username\']
获取当前登录的用户的user\\u名称。

如果您需要的是他的ID而不是user\\u名称,那么可以使用DB检索该ID或更改auth cookie的内容(如下所示:Removing username from the 'wordpress_logged_in' cookie).

相关推荐

Wp_cache_set不工作有什么原因吗?

wp\\u cache\\u设置不工作的原因是什么?我一直在转动车轮,试图弄明白为什么这些都不起作用。有什么建议吗?这些函数旨在帮助我将结果缓存到键/对象,然后利用键/对象显示信息。但是,它们不存储密钥/对象$related_post_ids = wp_cache_get( \'related_post_ids\' ); if ( false === $related_post_ids ) { //seting args and run query $the_query = new