L'utilisation de la nouvelle WP_Screen
classe facilite l'ajout de texte d'aide à un écran.
<?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' )
) );
}
C'est parfait pour les pages personnalisées. Mais lors de l'ajout d'un onglet d'aide à un écran existant, disons options-reading.php
, une certaine bizarrerie se produit.
Le load-options-reading.php
crochet se déclenche avant que la page WP intégrée ajoute ses propres onglets d'aide. En d'autres termes, l'ajout d'un onglet d'aide à un écran existant fait remonter tous les onglets d'aide intégrés au bas de la liste.
Voici du code, si vous souhaitez l'essayer:
<?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?' )
) );
}
Existe-t-il un moyen de réorganiser les onglets d'aide sur un écran?
ÉDITER:
J'ai trouvé un moyen de contourner cela. Les onglets d'aide par défaut sont ajoutés avant que le admin-header.php
fichier ne soit inclus.
Vous pouvez donc vous connecter à load-{$built_in_page}
, et à partir de là, accrocher une fonction admin_head
qui prend en charge la configuration de vos onglets d'aide.
<?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.' )
) );
}
Semble un peu comme un hack. Y a-t-il une meilleure façon?
WP_Screen::$_help_tabs
est privé. Impossible d'y accéder directement, malheureusement. Voir mon montage, j'ai fait votre troisième suggestion!