我需要我的非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?
答案 0 :(得分:0)
看起来wp-config.php可能是你需要的唯一包含,而不是wp-load.php。
There is a good discussion here关于同一主题。
我过去曾使用get_currentuserinfo()
function来检查$user_level
(对于管理员来说应该是10)但我没有尝试过在WordPress外面这样做。