Ich erstelle mein erstes Plugin und habe eine einzige Funktion, die die Ausgabe steuert. Diese Funktion hat eine andere Ausgabe, je nachdem, ob sie vom WordPress-Administrator aus betrachtet wird oder nicht. Gibt es eine Möglichkeit, auf einfache Weise zu testen, ob meine Funktion innerhalb von Admin vs Frontend ausgelöst wird oder nicht?
Ich habe versucht, die Abfragezeichenfolge mit dem Namen meines "Seitennamens" des Plugins zu vergleichen, aber es scheint auf einigen Servern/Installationen fehlzuschlagen.
Vielen Dank
Das war zu offensichtlich. Aus irgendeinem Grund dachte ich, dass dies mit einem Admin-Benutzer zu tun hatte .if(is_admin()) { ...output my admin stuff....}
Wenn Sie wissen möchten, ob aktueller Benutzer IS ADMIN , dann sollten Sie Folgendes verwenden:
$is_admin = current_user_can( 'manage_options' );
Ich wurde durch die obige Antwort in die Irre geführt, also eine kleine Notiz, um zu verhindern, dass andere den gleichen Fehler machen.
Beachten Sie, dass is_admin()
nur im Backend funktioniert. Für jeden Teil des Plugins, der auf der öffentlichen Website angezeigt wird, müssen Sie current_user_can()
verwenden.
if ( current_user_can( 'administrator' ) ) {
// your code goes here
}
Siehe is_admin_request () für eine funktionierende Lösung.