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

时间:2019-05-02 15:35:49

标签: php wordpress custom-wordpress-pages

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

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

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

 wp_get_current_user()

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

我的代码如下

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

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

为什么会这样。

我已尝试使用wp-login.php进行包含,并且我确定自己已登录。

1 个答案:

答案 0 :(得分:1)

您的代码似乎可以正常工作,我也在外部脚本上进行了尝试。因此,我认为问题出在第一行,如果所需文件与脚本不在同一文件夹中。

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

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

这对我有用。您还可以检查is_user_logged_in()或get_current_user_id()之类的wordpress函数,这些函数可以更好地满足您的需求。