Как проверить, является ли пользователь владельцем сайта в сети?

Я случайно использовал is_admin() чтобы проверить, был ли пользователь администратором, и выяснил, что эта функция не проверяет это. Поэтому я искал другую, и я нашел is_super_admin() но проверяет, являетесь ли вы администратором сети сайтов или владельцем одной установки WordPress. У меня есть сетевой сайт, и я хочу знать, является ли пользователь владельцем блога. Я не хочу использовать роли. Я хочу проверить, является ли пользователь владельцем блога.

Solutions Collecting From Web of "Как проверить, является ли пользователь владельцем сайта в сети?"

У меня были аналогичные проблемы с этим в прошлом, WordPress действительно нужна is_user_admin() .

Тем временем я думаю, что лучший способ сделать это – проверить, обладает ли пользователь определенными возможностями.

 function is_user_admin(){ if(!is_super_admin() && current_user_can('activate_plugins'){ // User is an admin } } 

Справка:

  • Роли администратора
  • current_user_can()

Ключ «activate_plugins» работает только в том случае, если superadmin включил эту привилегию в сетевых настройках, что часто бывает не так – по умолчанию он отключен. Правильный способ – использовать роль администратора.

 if(current_user_can('administrator')) {echo "User is admin!";} 

См. Сводку рулонов по адресу https://codex.wordpress.org/Roles_and_Capabilities .