簡體   English   中英

在wordpress文件夾之外使用wordpress函數

[英]use wordpress functions outside of wordpress folder

我在wordpress目錄外有一個腳本,我需要在其中檢查用戶當前是否以admin身份登錄。

網站結構為:

/home/myscript.php /home/wordpress/check_if_admin.php

check_if_admin.php內容是:

require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;
//usually admin user id is 1 if its not working check admin user id from wp_users table
if($user_id == 1) {
  $admin = "1";
}

$is_admin = current_user_can( 'manage_options' );
if ( current_user_can( 'administrator' ) ) {
  $admin = "1";
}
if (!empty($_GET['debug'])) {
  echo "UID $user_id / ADM $admin";
}

如果我從/home/wordpress/check_if_admin.php運行該腳本,它將起作用。 但是,如果我嘗試在myscript.php包含check_if_admin.php ,它將無法正常工作,並且$user_id / $admin始終為零。

如何檢查myscript.php的管理員狀態?

嘗試添加絕對路徑。

require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');

如果您的腳本在wordpress目錄之外,則需要在require_once(ABSPATH . 'wp-settings.php');之前的wp-config.php中添加以下行require_once(ABSPATH . 'wp-settings.php');

/** Set cookie path so we can access login from anywhere */
define('ADMIN_COOKIE_PATH', '/');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');

這是因為默認情況下,您的登錄cookie僅可用於您的wordpress目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM