Я создаю свой первый плагин и имею единственную функцию, которая управляет выходом. Эта функция имеет разные выходные данные в зависимости от того, просматривается ли она внутри администратора WordPress или внешнего интерфейса. Есть ли способ легко проверить, запускается ли моя функция внутри admin и frontend?
Я пробовал условно проверять строку запроса на имя имени моей "плагина", но, похоже, на некоторых серверах/установках не работает.
Спасибо
Дух, это было слишком очевидно. По какой-то причине я думал, что это связано с пользователем администратора.
if(is_admin()) { ...output my admin stuff....}
Если вы хотите узнать, есть ли текущий пользователь IS ADIN, то вы должны использовать это:
$is_admin = current_user_can( 'manage_options' );
Я получил ошибочный ответ из приведенного выше ответа, поэтому небольшое примечание, чтобы другие не совершали ту же ошибку.
Обратите внимание, что is_admin()
работает только в бэкэнд. Для любой части плагина, который отображается на общедоступном веб-сайте, вам нужно использовать current_user_can()
.
if ( current_user_can( 'administrator' ) ) {
// your code goes here
}
См. Is_admin_request() для рабочего решения.
<?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
}
?>