我正在創建我的第一個插件並具有控制輸出的單個函數。根據是否從WordPress管理員與前端查看它,此功能具有不同的輸出。有什麼方法可以輕鬆測試我的功能是否從管理員和前端觸發?如何檢查當前是否在WordPress的管理?
我試圖有條件地檢查查詢字符串與我的插件「頁面」名稱的名稱,但它似乎失敗了一些服務器/安裝。
謝謝
我正在創建我的第一個插件並具有控制輸出的單個函數。根據是否從WordPress管理員與前端查看它,此功能具有不同的輸出。有什麼方法可以輕鬆測試我的功能是否從管理員和前端觸發?如何檢查當前是否在WordPress的管理?
我試圖有條件地檢查查詢字符串與我的插件「頁面」名稱的名稱,但它似乎失敗了一些服務器/安裝。
謝謝
呃,這太明顯了。出於某種原因,我認爲這與管理員用戶有關。 if(is_admin()) { ...output my admin stuff....}
如果你想知道當前用戶是否是ADMIN,那麼你應該這樣做:
$is_admin = current_user_can('manage_options');
我被上面的回答誤導,所以稍微注意一下,以防止他人犯同樣的錯誤。
是的,我認爲這似乎是正確的,即使WordPress的支持下降。 – 2013-04-15 09:11:15
如果您不與當前用戶一起工作,您可以使用user_can(1,'manage_options'),並將「1」作爲用戶標識。再次,就像「current_user_can()」一樣,這與檢查用戶是否正在查看和管理頁面無關。 – 2013-09-25 15:21:51
<?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) {
//write your stuff
}
?>
我認爲current_user_can()可能是一種更有效的方法,可能不是明智的檢查WordPress全局變量。 – 2013-03-21 10:16:15
正確Brian。我們絕不應該假定用戶ID是某個用戶從不介意的管理員。 – 2013-09-25 15:12:29
請注意,is_admin()
只適用於後端。對於在公共網站上顯示的插件的任何部分,您需要使用current_user_can()
。
if (current_user_can('administrator')) {
// your code goes here
}
您可以添加一個current_user_can('管理員')的參考嗎? '管理員'沒有在https://codex.wordpress.org/Function_Reference/current_user_can上列出 – 2015-04-19 01:30:18
您可以將自己的答案標記爲已接受。 :) – GmonC 2010-11-09 03:16:11
我需要相同的。我也是一樣的。 – 2012-02-27 06:29:54
警告警告威爾羅賓遜:這段代碼檢查你是否在管理區域,而不是你是否以管理員身份登錄! – 2013-03-21 08:45:58