Wordpress:从外部脚本访问登录的用户数据

Wordpress: Accessing logged in user data from an external script

我在安装 WP 的同一台服务器上有一个脚本 运行,用户通过 WP 登录。

我想检查用户是否登录,以防止我的脚本 运行 用于未登录用户,并访问各种用户数据。

当我尝试使用以下方式访问数据时:

 wp_get_current_user()

我得到一个没有用户数据的对象。

我的代码是这样的

    require('wp-blog-header.php');
    $user = wp_get_current_user();
    echo var_dump($user);

我希望显示当前登录用户的数据。

为什么会这样。

我已经尝试使用 wp-login.php 作为包含,我确信我已经登录了。

您的代码似乎有效,我也在外部脚本上试过了。所以我认为问题出在第一行,如果所需的文件与您的脚本不在同一个文件夹中。

检查脚本是否与所需的 wordpress 位于同一文件夹中并尝试指向它。示例(如我测试的外部脚本):

require( __DIR__ . '/wp-load.php' );
$user = wp_get_current_user();
echo var_dump($user);

这对我有用。您还可以检查 wordpress 函数,例如 is_user_logged_in() 或 get_current_user_id(),它们可能会更好地满足您的需求。