Wie überprüfe ich, ob der Benutzer ein Websitebesitzer in einem Netzwerk ist?

Ich habe versehentlich is_admin() , um zu überprüfen, ob ein Benutzer ein Administrator war und herausgefunden hat, dass die function dies nicht überprüft. Also suchte ich nach einem anderen , und ich fand is_super_admin() , aber das überprüft , ob Sie ein Administrator eines Netzwerks von Websites oder Inhaber eines einzigen WordPress installieren sind. Ich habe eine Netzwerkseite und möchte wissen, ob der Benutzer der Eigentümer des Blogs ist. Ich möchte keine Rollen verwenden. Ich möchte überprüfen, ob der Benutzer der Eigentümer des Blogs ist.

Solutions Collecting From Web of "Wie überprüfe ich, ob der Benutzer ein Websitebesitzer in einem Netzwerk ist?"

Ich hatte ähnliche Probleme in der Vergangenheit, WordPress benötigt wirklich eine is_user_admin() function.

In der Zwischenzeit denke ich, dass der beste Weg dies zu tun ist, zu testen, ob der Benutzer bestimmte Fähigkeiten hat.

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

Referenz:

  • Administratorrollen
  • current_user_can()

Die ‘activate_plugins’-Rolle funktioniert nur, wenn Superadmin diese Berechtigung in Netzwerkeinstellungen aktiviert hat, was sie oft nicht tun – sie ist standardmäßig deaktiviert. Der richtige Weg ist die Rolle “Administrator”.

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

Siehe die Zusammenfassung der Rollen unter https://codex.wordpress.org/Roles_and_Capabilities .