我的脚本与WP安装在同一服务器上运行,并且用户通过WP登录。
我希望检查用户是否已登录,以防止未登录用户运行我的脚本,并访问各种用户数据。
当我尝试使用以下方法访问数据时:
wp_get_current_user()
我得到一个没有用户数据的对象。
我的代码如下
require('wp-blog-header.php');
$user = wp_get_current_user();
echo var_dump($user);
我希望显示当前已登录用户的数据。
为什么会这样。
我已尝试使用wp-login.php进行包含,并且我确定自己已登录。
答案 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函数,这些函数可以更好地满足您的需求。