wordpress获取当前用户没有wp-load.php

时间:2012-02-07 20:33:03

标签: php wordpress

我目前正在尝试将几页写入我的网站,这些页面不属于wordpress网站,但我希望能够使用wordpress用户。我使用以下代码

require_once("../../../wp-load.php");
$current_user = wp_get_current_user();

现在我可以将$ current_user变量用于我需要的所有内容。但是因为我包含了wp-load.php文件,所以我真的不需要很多开销。

我的问题是如何在不包含wp-load的情况下获取当前的wordpress用户?

我不介意自己必须包含一些额外的文件,但我真的不需要或者希望每次调用此页面时都要设置整个wp环境,以便我可以获得用户。

1 个答案:

答案 0 :(得分:0)

你在那些页面做什么?我问,因为如果你想通过ajax发送一些POST,你应该检查this

如果你不使用ajax,但你只需要一些可以访问Wordpress功能的页面,那么你必须包含wp-load,因为这个文件正在加载Wordpress。

我建议在主题文件夹中创建一个名为page-custom-name.php的文件,然后发布一个标题为“Custom-name”的空白页面。现在,当您访问www.yoursite / custom-name时,您将看到该页面,您可以获取当前用户信息,或访问其他Wordpress功能。

稍后编辑:

这个想法是一个部分解决方案:如何使用钩子?

在你的functions.php中加上以下几行:

add_action('wp_login', 'aboutuser');

function aboutuser($username, $user)
{
  $userObject = $user;

  //find a solution to send this data to your url of your application
}

基本上,当用户登录Wordpress时,执行aboutuser()函数,并获得2个参数(在Wordpress 3.3中;在早期版本中,它只获取用户名)。

现在,当用户登录时,我们可以访问wp用户对象。也许有一种方法可以将这些数据(POST请求)传递给您的应用程序并将其存储在会话中。

我不确定它是否可能。