This page redirects to an external site: https://developer.wordpress.org/reference/classes/wp_screen/add_help_tab/
This function is used to add a tab to the Contextual Help menu in an admin page.
add_help_tab() is a method of the WP_Screen() class, and can not be called directly.
To use the method, fetch the $current_screen object or use get_current_screen() and then call the method from the object. Developers should keep in mind that you may need to filter $current_screen using an if or switch statement to prevent new help tabs from being added to ALL admin screens.
<?php $screen = get_current_screen(); $screen->add_help_tab( array( 'id' => $id, //unique id for the tab 'title' => $title, //unique visible title for the tab 'content' => $content, //actual help text 'callback' => $callback //optional function to callback ) ); ?>
This example shows how you would add contextual help to an admin page you've created with the add_options_page() function. Here, we assume that your admin page has a slug of 'my_admin_page' and exists under the Options tab.
<?php
add_action('admin_menu', 'my_admin_add_page');
function my_admin_add_page() {
$my_admin_page = add_options_page(__('My Admin Page', 'map'), __('My Admin Page', 'map'), 'manage_options', 'map', 'my_admin_page');
// Adds my_help_tab when my_admin_page loads
add_action('load-'.$my_admin_page, 'my_admin_add_help_tab');
}
function my_admin_add_help_tab () {
$screen = get_current_screen();
// Add my_help_tab if current screen is My Admin Page
$screen->add_help_tab( array(
'id' => 'my_help_tab',
'title' => __('My Help Tab'),
'content' => '<p>' . __( 'Descriptive content that will show in My Help Tab-body goes here.' ) . '</p>',
) );
}
?>
<?php
/**
* Plugin Name: Help Tab Test Case
* Plugin URI: http://unserkaiser.com
* Description: Add Help Tab test case
*/
class example_help
{
public $tabs = array(
// The assoc key represents the ID
// It is NOT allowed to contain spaces
'EXAMPLE' => array(
'title' => 'TEST ME!'
,'content' => 'FOO'
)
);
static public function init()
{
$class = __CLASS__ ;
new $class;
}
public function __construct()
{
add_action( "load-{$GLOBALS['pagenow']}", array( $this, 'add_tabs' ), 20 );
}
public function add_tabs()
{
foreach ( $this->tabs as $id => $data )
{
get_current_screen()->add_help_tab( array(
'id' => $id
,'title' => __( $data['title'], 'some_textdomain' )
// Use the content only if you want to add something
// static on every help tab. Example: Another title inside the tab
,'content' => '<p>Some stuff that stays above every help text</p>'
,'callback' => array( $this, 'prepare' )
) );
}
}
public function prepare( $screen, $tab )
{
printf(
'<p>%s</p>'
,__(
$tab['callback'][0]->tabs[ $tab['id'] ]['content']
,'dmb_textdomain'
)
);
}
}
// Always add help tabs during "load-{$GLOBALS['pagenow'}".
// There're some edge cases, as for example on reading options screen, your
// Help Tabs get loaded before the built in tabs. This seems to be a core error.
add_action( 'load-post.php', array( 'example_help', 'init' ) );
add_action( 'load-post-new.php', array( 'example_help', 'init' ) );
Above example came out of a WPSE question.
You can read this WPSE question about how to fix the wrong order bug without changing core code.
add_help_tab() is located in wp-admin/includes/class-wp-screen.php.