定位屏幕(上下文)帮助选项卡

时间:2012-03-11 作者:chrisguitarguy

使用新的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?\' )
    ) );
}

Is there any way to reorder the help tabs on a screen?

EDIT:

找到了解决方法。默认的帮助选项卡添加在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.\' )
    ) );
}
看起来有点像黑客。有更好的方法吗?

3 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

正如@Mamaduka所建议的,你可以admin_head-{$page_hook} 并在此处添加上下文帮助。admin_head 在添加默认上下文帮助选项卡后激发。

<?php
add_action( \'admin_head-options-reading.php\', \'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.\' )
    ) );
}

SO网友:Mamaduka

使用admin_head-$hook_suffix 操作,这是相同的方法,只删除exta操作和回调。

SO网友:kaiser

我猜你有三次机会:

使用WP_Screen->$_help_tabs 手动重新排序WP_Screen->remove_help_tab( $id ) 然后手动将其添加回admin_head 筛选以填充“帮助”选项卡,或在“管理”标题中错误使用之前触发的某个筛选器或挂钩。php

结束

相关推荐