El uso de la nueva WP_Screen
clase hace que sea bastante fácil agregar texto de ayuda a una pantalla.
<?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' )
) );
}
Esto es genial para páginas personalizadas. Pero al agregar una pestaña de ayuda a una pantalla existente, digamos options-reading.php
, ocurre algo extraño.
El load-options-reading.php
gancho se dispara antes de que la página WP incorporada agregue sus propias pestañas de ayuda. En otras palabras, agregar una pestaña de ayuda a una pantalla existente coloca todas las pestañas de ayuda integradas en la parte inferior de la lista.
Aquí hay un código, si desea probar esto:
<?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?' )
) );
}
¿Hay alguna forma de reordenar las pestañas de ayuda en una pantalla?
EDITAR:
Encontré una forma de evitar esto. Las pestañas de ayuda predeterminadas se agregan antes de admin-header.php
incluir el archivo.
Para que pueda conectarse load-{$built_in_page}
, y desde allí, una función admin_head
que se encarga de configurar sus pestañas de ayuda.
<?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.' )
) );
}
Parece una especie de truco. ¿Hay una mejor manera?
fuente
WP_Screen::$_help_tabs
es privado. No puedo acceder directamente, desafortunadamente. Vea mi edición, ¡hice su tercera sugerencia!