Cum adaug un favicon care apare doar în panoul de administrare al pluginului meu?
Cum adaug un favicon care apare doar în panoul de administrare al pluginului meu? Adică, ce eveniment trebuie să interceptez?

Când adaugi pagina ta de administrare (subpagină), atunci (sperăm) folosești add_*menu_page()
. Poți pur și simplu să salvezi rezultatul într-o variabilă. Această variabilă este $hook_suffix
.
Apoi, poți pur și simplu să adaugi callback-ul tău (care adaugă favicon-ul) la hook-ul admin_head-{$suffix}
Sursă Link. După cum arată captura de ecran din plugin, există și load-{$hook_suffix}
-hook-uri Sursă Link, care sunt un pic mai devreme.
Editare: Pentru a obține o mai bună înțelegere și pentru a "dovedi" că acest hook există de fapt, poți folosi plugin-ul meu »informații curente admin«, pe care îl poți descărca de pe GitHub. Acesta îți arată care variabile globale sunt setate, precum și care hook-uri contextuale sunt disponibile și care sunt numele lor, pe pagina de administrare pe care o vizualizezi.
Exemplu
Iată cum ai putea face acest lucru într-un mod procedural. În cadrul unui cod structurat OOP, probabil ai salva într-o variabilă de clasă și apoi ai folosi această variabilă pentru a adăuga acțiunea/callback-ul pentru favicon.
function wpse61424_register_admin_page()
{
$hook_suffix = add_menu_page( /* adaugă argumente */ );
add_action( "admin_head-{$hook_suffix}", 'wpse67424_parttime_favicon' );
}
function wpse67424_parttime_favicon()
{
printf(
'<link rel="shortcut icon" href="%s" />'
,plugin_dir_url( 'favicon.ico' )
);
}
