新しいWP_Screen
クラスを使用すると、ヘルプテキストを画面に簡単に追加できます。
<?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' )
) );
}
これはカスタムページに最適です。しかし、既存の画面にヘルプタブを追加するとoptions-reading.php
、たとえば、奇妙なことが起こります。
load-options-reading.php
WPのページに組み込まれた前フック火災は、独自のヘルプタブが追加されます。つまり、既存の画面にヘルプタブを追加すると、すべての組み込みヘルプタブがリストの一番下に表示されます。
これを試してみたい場合のコードを次に示します。
<?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?' )
) );
}
画面のヘルプタブを並べ替える方法はありますか?
編集:
これを回避する方法を見つけました。admin-header.php
ファイルが含まれる前に、デフォルトのヘルプタブが追加されます。
したがってload-{$built_in_page}
、にフックし、そこからadmin_head
ヘルプタブの設定を処理する関数をフックできます。
<?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.' )
) );
}
まるでハックのようです。もっと良い方法はありますか?
WP_Screen::$_help_tabs
プライベートです。残念ながら直接アクセスすることはできません。私の編集を見て、私はあなたの3番目の提案をしました!