Die Verwendung der neuen WP_Screen
Klasse erleichtert das Hinzufügen von Hilfetext zu einem Bildschirm.
<?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' )
) );
}
Dies ist ideal für benutzerdefinierte Seiten. Wenn Sie jedoch einem vorhandenen Bildschirm eine Registerkarte "Hilfe" hinzufügen, tritt beispielsweise eine options-reading.php
gewisse Verrücktheit auf.
Der load-options-reading.php
Hook wird ausgelöst, bevor die integrierte WP-Seite eigene Hilfe-Registerkarten hinzufügt. Mit anderen Worten, wenn Sie einem vorhandenen Bildschirm eine Registerkarte "Hilfe" hinzufügen, werden alle integrierten Registerkarten "Hilfe" am Ende der Liste angezeigt.
Hier ist ein Code, wenn Sie dies ausprobieren möchten:
<?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?' )
) );
}
Gibt es eine Möglichkeit, die Hilfe-Registerkarten auf einem Bildschirm neu anzuordnen?
BEARBEITEN:
Ich habe einen Weg gefunden, dies zu umgehen. Die Standard-Hilfe-Registerkarten werden hinzugefügt, bevor die admin-header.php
Datei aufgenommen wird.
Sie können also load-{$built_in_page}
eine Funktion einbinden und von dort aus eine Funktion einbinden, admin_head
die sich um das Einrichten Ihrer Hilfetabellen kümmert.
<?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.' )
) );
}
Scheint ein bisschen wie ein Hack. Gibt es einen besseren Weg?
WP_Screen::$_help_tabs
ist privat. Ich kann leider nicht direkt darauf zugreifen. Siehe meine Bearbeitung, ich habe Ihren dritten Vorschlag gemacht!