Ich erstelle ein Plugin und möchte ein bisschen Javascript in den Admin-Kopf einfügen, aber nur für bestimmte Admin-Seiten. Ich meine nicht Seiten wie in einer WordPress-Seite, die Sie selbst erstellen, sondern bestehende Seiten im Admin-Bereich wie "Ihr Profil", "Benutzer" usw. Gibt es eine WP-Funktion speziell für diese Aufgabe? Ich habe gesucht und ich kann nur die Boolesche Funktion is_admin
und Aktions-Hooks finden, aber keine Boolesche Funktion, die nur prüft.
plugin-development
javascript
api
functions
racl101
quelle
quelle
Antworten:
Verwenden Sie dazu den Hook "admin_enqueue_scripts", um die benötigten Dateien in die Warteschlange zu stellen. Diesem Hook wird ein $ hook_suffix übergeben, das sich auf die aktuell geladene Seite bezieht:
quelle
In wp-admin gibt es eine globale Variable namens $ pagenow, die den Namen der aktuellen Seite enthält, dh edit.php, post.php usw.
Sie können auch die $ _GET-Anforderung überprüfen, um Ihren Standort weiter einzugrenzen. Beispiel:
quelle
global $pagenow; if ( ( 'admin.php' === $pagenow ) && ( 'prefix-theme-settings' === $_GET['page'] ) ) { logic.. }
Überprüft beispielsweise, ob Sie sich auf einer Seite mit benutzerdefinierten Designeinstellungen befindenadmin.php?page=prefix-theme-settings
.Die umfassendste Methode wurde
get_current_screen
in WordPress 3.1 hinzugefügtkehrt zurück
quelle
get_current_screen()
es sicher auf allen Admin-Seiten verwendet werden kann.Um eine alternative Methode / Herangehensweise an die obige Frage anzubieten.
Diese Methode zielt direkter auf bestimmte Seiten ab und vermeidet, dass in Ihrem Rückruf bedingte Logik erforderlich ist (da Sie diese Unterscheidung bereits im ausgewählten Hook vorgenommen haben).
quelle
Ich finde es seltsam, dass niemand erwähnt hat, dass die Funktion add_menu_page einen Aktions-Hook zurückgibt, mit dem Sie bestimmte Aktionen nur auf diesen Seiten ausführen können
Wenn Sie den $ -Hook benötigen und die Menüseite nicht selbst hinzugefügt haben, ist das Dokument hier
Zum Beispiel ist der Haken für eine Menüseite der obersten Ebene
Der Haken für eine Untermenüseite ist
Nach dieser Logik lautet der Haken für die Profilseite des Benutzers
quelle