Frage

Ich versuche, ein Plugin so zu bearbeiten, dass es nur zeigt, dass es sich um ein Untermenü handelt, wenn der Benutzer ein Administrator ist, aber ich weiß nicht, wie ich den Wert der Variablen vor der Funktion definieren soll:

function load_view( $name, $params = array(), $print_submenu_navigation = false ) {

Mein bisherer Code ist:

if (current_user_can('administrator')) {
 $print_submenu_navigation = true;  
}
else {
 $print_submenu_navigation = false;
}

Wenn ich dies vor der Funktion setze, erhalte ich einen PHP -Fehler, der mir sagt, dass es eine Funktion erwartet.

War es hilfreich?

Lösung

Falscher Ansatz. $print_submenu_navigation wird in lokalem Umfang ausgefüllt, wenn die Funktion mit Argumenten aufgerufen wird. Es handelt sich nicht um globale Variablen.

Sie möchten so etwas, wenn die Funktion aufgerufen wird (nicht definiert):

load_view( 'name', array(), current_user_can('administrator') ) {

Alternativ können Sie Ihr Snippet hinzufügen Innerhalb die Funktion, dann Eingabwert für $print_submenu_navigation Wird mit Ergebnis Ihres Schecks überschrieben.

Und es ist kürzer, es so zu schreiben, die Funktion gibt boolean zurück:

$print_submenu_navigation = current_user_can('administrator');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top