[英]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.