我无法访问$ current_user中的任何信息

时间:2011-08-14 22:28:05

标签: php wordpress

我在WP上运行一个站点,在运行get_currentuserinfor()之后,它不允许我从全局变量$ current_user访问信息。

我的主题中有一个php文件(不是特定于wordpress的文件)​​,在该文件中,有以下内容:

<?php
define('WP_USE_THEMES', false);
require('../../../wp-blog-header.php');

print_r ($current_user);
?>

然后,在wp-blog-header中,我有以下内容:

<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */

if ( !isset($wp_did_header) ) {
    $wp_did_header = true;
    require_once( dirname(__FILE__) . '/wp-load.php' );
    wp();
  require_once( ABSPATH . WPINC . '/template-loader.php' );
  global $current_user;
  get_currentuserinfo();
}
?>

当我尝试在浏览器中访问我的php文件时,我得到以下内容: WP_User对象([data] =&gt; [ID] =&gt; 0 [id] =&gt; 0 [caps] =&gt; Array()[cap_key] =&gt; [roles] =&gt;数组()[allcaps] =&gt; Array()[first_name] =&gt; [last_name] =&gt; [filter] =&gt;)

我很感激你们所有的帮助!

修改

当我在Safari&amp;中访问该文件时Firefox登录后,它正常工作。但由于某种原因(这是我开发的)不在Chrome中。我尝试在Chrome中清除所有浏览器数据,但仍然没有运气。

2 个答案:

答案 0 :(得分:1)

在您自己的PHP文件中,确保将$ current_user定义为全局。

<?php
define('WP_USE_THEMES', false);
global $current_user; # <-- Add this
require('../../../wp-blog-header.php');

print_r ($current_user);
?>

答案 1 :(得分:1)

它允许您访问$ current_user,因为它显示为对象

 WP_User Object ( [data] => [ID] => 0 [id] => 0 [caps] => Array ( ) [cap_key] => [roles] => Array ( ) [allcaps] => Array ( ) [first_name] => [last_name] => [filter] => )

确保您在尝试访问此文件时已登录