Ori de câte ori este posibil, este mai bine să utilizați cârligele specifice ecranului, decât cele mai generice init
, admin_init
, admin_footer
etc (cu excepția cazului în care doriți ca apelul dvs. specific să ruleze pe fiecare ecran). În acest sfat rapid vom analiza modul în care puteți obține cu ușurință cârligele de ecran pentru o anumită pagină.
Cârligele specifice paginii oferă cel mai eficient (și cel mai curat) mod de a direcționa un apel invers doar pentru ecranul (ele) de care aveți nevoie. Ei includ:
page-a sarcinii cârlig
- numit înainte de încărcarea pe ecran (logica pentru aceasta poate fi găsită aici)admin_print_styles- page cârlig
- acțiune pentru tipărirea stilurilor în
din pagina de administrareadmin_print_scripts- page cârlig
- acțiune pentru imprimarea de scripturi în
din pagina de administrareadmin_head- page cârlig
- acțiune declanșată în interiorul
din pagina de administrareadmin_footer- page cârlig
- acțiune declanșată chiar deasupra închiderii
etichetă pe pagina de administrareDar care este valoarea lui Page-cârlig
pentru o anumită pagină? Privind la sarcină-*
cârlig în special veți găsi că există o logică destul de complicat în determinarea Page-cârlig
. În special, acesta tratează paginile de tip plug-in personalizat diferit de paginile "principale" (cum ar fi paginile tip post și taxonomie) și, din motive de compatibilitate înapoi, va folosi mai multe cârlige pentru același ecran atunci când editează mesaje, pagini sau categorii.
Regulile generale pentru valoarea Page-cârlig
pot fi rezumate după cum urmează:
add_menu_page ()
(și funcțiile conexe) este ecran ID (valoarea returnată de add_menu_page ()
)edit.php
post-new.php
post.php
edit-tags.php
Cu toate acestea, cârligul de pagină este generat, este în cele din urmă stocat în global $ hook_suffix
.
În general, aceste reguli sunt suficiente pentru a determina cârligele specifice paginii. Dar când lucrez cu ei, deseori găsesc că ajută la o referință ușoară. Pentru a crea această referință ușoară, vom adăuga un panou la fila "ajutor" din partea dreaptă sus a fiecărui ecran, care va afișa detaliile ecranului (ID ecran, bază ecran și cel mai util, ecranul Suport cârlig). Acesta va lista, de asemenea, cârlige specifice ecranului.
Panourile din tab-ul de ajutor au fost introduse în 3.3, deci acest lucru va funcționa numai pentru versiunile WordPress 3.3+. Pentru a adăuga panoul pe care îl folosim contextual_help
filtru. Acesta este un filtru pentru scopuri de compatibilitate înapoi, deci nu filtrăm nimic. În schimb, folosim WP_Screen :: add_help_tab
metodă.
/ * Adăugați ajutor contextual * / add_filter ('contextual_help', 'wptuts_screen_help', 10, 3); funcția wptuts_screen_help ($ contextual_help, $ screen_id, $ screen) // Funcția add_help_tab pentru ecran a fost introdusă în WordPress 3.3. dacă (! method_exists ($ screen, 'add_help_tab')) returnați $ contextual_help; / * ... genera conținut de ajutor ... * / $ help_content = "; $ screen-> add_help_tab (array ('id' => 'wptuts-screen-help', 'title' => $ help_content,)); return $ contextual_help;
Pentru a genera conținutul de ajutor, luăm globalizarea $ hook_suffix
și adăugați-l la cârligele menționate mai sus. De asemenea, primim o listă a detaliilor ecranului, care sunt stocate ca proprietăți ale WP_Screen
obiect.
global $ hook_suffix; // Afișați proprietățile ecranului $ variables = '
Ceea ce ne va da ceva de genul:
Puteți plasa următoarele în plug-in-ul de utilitate al site-ului dvs. sau (dacă trebuie), tematica dvs. functions.php. Asigurați-vă că redenumiți wptuts_screen_help
la ceva unic pentru tine.
add_action ('contextual_help', 'wptuts_screen_help', 10, 3); funcția wptuts_screen_help ($ contextual_help, $ screen_id, $ screen) // Funcția add_help_tab pentru ecran a fost introdusă în WordPress 3.3. dacă (! method_exists ($ screen, 'add_help_tab')) returnați $ contextual_help; global $ hook_suffix; // Afișați proprietățile ecranului $ variables = '