L'uso della nuova WP_Screen
classe semplifica l'aggiunta di testo di aiuto a uno schermo.
<?php
add_action( "load-{$somepage}", 'wpse_load_reading' );
function wpse_load_reading()
{
get_current_screen()->add_help_tab( array(
'id' => 'my-help-tab',
'title' => __( 'My Title' ),
'content' => __( 'Help Content' )
) );
}
Questo è ottimo per le pagine personalizzate. Ma quando si aggiunge una scheda di aiuto a una schermata esistente, diciamo options-reading.php
, accadono alcune stranezze.
L' load-options-reading.php
hook si attiva prima che la pagina WP integrata aggiunga le proprie schede di aiuto. In altre parole, l'aggiunta di una scheda di aiuto a una schermata esistente blocca tutte le schede di aiuto integrate nella parte inferiore dell'elenco.
Ecco un po 'di codice, se vuoi provarlo:
<?php
add_action( "load-options-reading.php", 'wpse_load_reading2' );
function wpse_load_reading2()
{
get_current_screen()->add_help_tab( array(
'id' => 'my-help-tab',
'title' => __( 'My Title' ),
'content' => __( 'Why is this tab above the built in tab?' )
) );
}
Esiste un modo per riordinare le schede della guida su uno schermo?
MODIFICARE:
Ho trovato un modo per aggirare questo. Le schede di aiuto predefinite vengono aggiunte prima di admin-header.php
includere il file.
Quindi puoi collegarti load-{$built_in_page}
e da lì agganciare una funzione admin_head
che si occupa di impostare le tue schede di aiuto.
<?php
add_action( 'load-options-reading.php', 'wpse45210_load' );
function wpse45210_load()
{
add_action( 'admin_head', 'wpse45210_add_help' );
}
function wpse45210_add_help()
{
get_current_screen()->add_help_tab( array(
'id' => 'my-help-tab',
'title' => __( 'My Title' ),
'content' => __( 'This tab is below the built in tab.' )
) );
}
Sembra un po 'come un trucco. Esiste un modo migliore?
WP_Screen::$_help_tabs
è privato. Purtroppo non è possibile accedervi direttamente. Vedi la mia modifica, ho fatto il tuo terzo suggerimento!