0

我正在开发 WordPress 插件,但在获取 WordPress 登录用户 ID 和会话时遇到问题,我需要代表该用户从我的服务器创建评论。

[更新] 我所说的“我的服务器”来自我自己的 Java 服务器。我的评论系统在 Java 服务器上创建评论,Java 服务器也需要在 wordpress PHP 服务器上创建相同的评论。为了在用户帐户上创建评论,我将会话发送到 Java 服务器,因此它将作为 wordpress 将会话转换为用户,因此它是安全的。[/更新]

问题是,为了使这个操作安全,我需要用 WordPress 检查我得到的会话是否有效并且与用户 ID 匹配。

我找不到任何将会话转换为用户 ID 以检查它是否匹配的 API。

无论如何用WordPress API做到这一点?

4

1 回答 1

1

您可以通过多种方式从 auth cookie 中获取用户 ID,具体取决于您要采用的路径,这是您应该检查的功能:

get_current_user_id -> 返回当前用户的 ID。
wp_get_current_user -> 检索当前用户对象(WP_User)。使用全局变量 $current_user
封装get_currentuserinfo ()。您可以在此处查看此函数的代码,以了解如何构建脚本。


wp_validate_auth_cookie - 验证身份验证 cookie。它返回用户 ID。
我想你必须使用最后一个,就像它在 get_currentuserinfo 中使用的那样:

$user = wp_validate_auth_cookie( $_COOKIE[LOGGED_IN_COOKIE], 'logged_in' )
if ($user != 0) { //then we have a valid user...}
于 2013-10-10T10:24:24.530 回答