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

Wordpress - check if current user is logged as admin on non-wordpress scripts

本文关键字:登录 身份 Wordpress 脚本 管理员 用户 是否 检查      更新时间:2023-09-26

我需要我的非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对速度的影响。似乎只是检查管理员是否登录有点过分。我猜,wp-load.php将加载整个wordpress脚本。是否有更好的方法来检查如果管理员登录,但外部wordpress ?

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

关于同样的话题,这里进行了很好的讨论。

我过去使用get_currentuserinfo()函数来检查$user_level(对于admin应该是10),但我没有尝试在WordPress之外这样做。

祝你好运!