Wordpress - 检查当前用户是否在非wordpress脚本上以管理员身份登录

时间:2015-07-27 19:23:26

标签: javascript php wordpress cookies

我需要我的非wordpress脚本能够获取当前用户的信息(以检查他是否是管理员)。为此,我需要在我的脚本中包含这一行:

require_once('/home/anarchoi/public_html/blog/wp-load.php');

问题是我添加此行后,其余的脚本都会被破坏。如果我发表评论,那么一切都会奏效。

这里是脚本的其余部分,就在wp-load.php包含之后

$articleid = "test";
$lastviewedarticles = array();
$cookiedomain = ".ni-dieu-ni-maitre.com";

if (isset($_COOKIE["viewed_articles"]) ) {
  $lastviewedarticles = unserialize($_COOKIE["viewed_articles"]);
  if(!empty($_GET['debug'])) { 
  echo "cookie = $lastviewedarticles"; 
  print_r($lastviewedarticles);
  }
    if (is_array($lastviewedarticles) && !in_array($articleid, $lastviewedarticles)){  // is array pour éviter le bug msg erreur qui saffiche depuis qu'on intègre la liaison avec le wordpress admin check
        $count = count($lastviewedarticles);
        if($count>=50)
        array_shift($lastviewedarticles);
        $lastviewedarticles[] = $articleid;
    }
} else {
$lastviewedarticles[] = $articleid;
setcookie('viewed_articles', serialize($lastviewedarticles), time()+60*60*24*30, '/', $cookiedomain);
if(!empty($_GET['debug'])) { echo "cookie not set, setting $lastviewedarticles"; }
}

第一次加载页面时,将设置cookie,但每次之后脚本都无法获取cookie的内容。 如果我检查我的浏览器cookie,我可以发现cookie在这里

我也很担心在我的网站的每个页面中包含wp-load.php的速度影响。看起来有点矫枉过正,只是为了检查管理员是否已登录。 AFAIK,wp-load.php将加载WHOLE wordpress脚本。有没有更好的方法来检查管理员是否登录,但OUTSIDE wordpress?

1 个答案:

答案 0 :(得分:0)

看起来wp-config.php可能是你需要的唯一包含,而不是wp-load.php。

There is a good discussion here关于同一主题。

我过去曾使用get_currentuserinfo() function来检查$user_level(对于管理员来说应该是10)但我没有尝试过在WordPress外面这样做。

祝你好运!

相关问题