O uso da nova WP_Screen
classe facilita bastante adicionar texto de ajuda a uma tela.
<?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' )
) );
}
Isso é ótimo para páginas personalizadas. Mas, ao adicionar uma guia de ajuda a uma tela existente, digamos options-reading.php
, alguma estranheza acontece.
O load-options-reading.php
gancho é acionado antes da página do WP incorporada adicionar suas próprias guias de ajuda. Em outras palavras, adicionar uma guia de ajuda a uma tela existente colide com todas as guias de ajuda internas na parte inferior da lista.
Aqui está um código, se você quiser tentar isso:
<?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 alguma maneira de reordenar as guias de ajuda em uma tela?
EDITAR:
Encontrei uma maneira de contornar isso. As guias de ajuda padrão são adicionadas antes da admin-header.php
inclusão do arquivo.
Assim, você pode conectar load-{$built_in_page}
e, a partir daí, conectar uma função admin_head
que cuida da configuração de suas guias de ajuda.
<?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 uma espécie de hack. Existe uma maneira melhor?
WP_Screen::$_help_tabs
é privado. Não é possível acessá-lo diretamente, infelizmente. Veja minha edição, fiz sua terceira sugestão!