Как проверить, что в данный момент в Wordpress Admin? - PullRequest
32 голосов
/ 09 ноября 2010

Я создаю свой первый плагин и имею единственную функцию, которая контролирует вывод.Эта функция имеет различный вывод в зависимости от того, просматривается ли она из админки WordPress и внешнего интерфейса.Есть ли способ легко проверить, запускается ли моя функция изнутри admin против внешнего интерфейса?

Я попытался условно проверить строку запроса на соответствие имени моего плагина "page" name, но похожесбой на некоторых серверах / установках.

Спасибо

Ответы [ 5 ]

56 голосов
/ 09 ноября 2010

Да, это было слишком очевидно.По какой-то причине я думал, что это связано с администратором.if(is_admin()) { ...output my admin stuff....}

http://codex.wordpress.org/Function_Reference/is_admin

20 голосов
/ 07 января 2013

Если вы хотите знать, является ли текущий пользователь АДМИН , то вам следует использовать это:

   $is_admin = current_user_can( 'manage_options' );

Я получил неправильный ответ из-за вышеприведенного ответа, поэтому небольшая заметка, чтобы не дать другим совершить ту же ошибку.

14 голосов
/ 23 октября 2013

Обратите внимание, что is_admin() работает только в бэкэнде. Для любой части плагина, который отображается на общедоступном веб-сайте, вам нужно использовать current_user_can().

if ( current_user_can( 'administrator' ) ) {
  // your code goes here
}
0 голосов
/ 01 декабря 2018

Смотрите is_admin_request () для рабочего решения.

0 голосов
/ 08 января 2013
<?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
}
?>
...