Статьи

Добавление вкладки справки в WordPress

Если вы новичок в WordPress, то можете использовать вкладку справки в верхнем правом углу страницы. Это вкладка, которую можно настроить на любой странице в административной области и которая должна предоставить вашим пользователям достаточно информации для правильного использования страницы.

Вот изображение вкладки справки на странице поста, оно точно объяснит, какие поля по умолчанию находятся на экране поста. Он объясняет, что будет делать текстовое поле заголовка и как использовать редактор сообщений.

Если вы являетесь разработчиком WordPress, вы можете создать панель настроек для вашего плагина WordPress или вашей темы . Если у вас есть несколько различных опций для вашей страницы, это может сбить пользователя с толку о том, как они должны его использовать. Вы можете помочь им в том, как точно использовать страницу настроек, предоставив им дополнительную информацию на вкладке справки.

Чтобы добавить новую вкладку справки на страницу , сначала необходимо назначить действие для события загрузки страницы.

В WordPress у вас есть доступ к ряду различных глобальных переменных, одна из этих переменных называется {pagenow} и будет отображать текущую страницу, на которой вы находитесь. Это значение, которое используется внутри действия над событием загрузки страницы.

add_action( "load-{$GLOBALS['pagenow']}", array( $this, 'add_help_tab' ), 20 );

Использование приведенного выше кода добавит вкладку справки на каждую страницу области администрирования WordPress. Но вы не хотите добавлять вкладку справки на каждую страницу административной области, поскольку указания справки не имеют смысла, поэтому вам нужно выяснить, на какой странице вы хотите, чтобы вкладка справки появлялась, и получить $ GLOBALS [‘ pagenow ‘] значение для этой страницы для использования в функции add_action () .

Если вы хотите использовать вкладку справки для разных страниц, используйте следующий код.

// Add dashboard help tab
add_action( "load-index.php", 'add_dashboard_help_tab' , 20 );
// Add post help tab
add_action( "load-post.php", 'add_post_help_tab' , 20 );
// Add new post help tab
add_action( "load-post-new.php", 'add_post_new_help_tab' , 20 );
// Add category help tab
add_action( "load-edit-tags.php", 'add_category_help_tab' , 20 );
// Add pages help tab
add_action( "load-edit.php", 'add_pages_help_tab' , 20 );
// Add media help tab
add_action( "load-upload.php", 'add_media_help_tab' , 20 );
// Add comment help tab
add_action( "load-edit-comments.php", 'add_comment_help_tab' , 20 );
// Add theme help tab
add_action( "load-themes.php", 'add_themes_help_tab' , 20 );
// Add plugin help tab
add_action( "load-plugins.php", 'add_plugins_help_tab' , 20 );
// Add settings help tab
add_action( "load-options-general.php", 'add_settings_help_tab' , 20 );

Первый параметр — это событие загрузки страницы, которому мы назначаем вкладку справки, а второй параметр — это функция обратного вызова, которую мы используем для отображения дополнительной вкладки. Когда вы определяете функцию обратного вызова, вам нужно получить текущий экранный объект в WordPress с помощью функции get_current_screen () . На этом объекте есть метод add_help_tab (), который мы будем использовать для настройки нашей новой вкладки справки.

Добавьте следующий код, чтобы добавить новую вкладку справки на страницу настроек.

function add_settings_help_tab()
{
	get_current_screen()->add_help_tab( array(
			 'id'       => 'settings_help'
			,'title'    => __( 'Extra Tab', 'text_domain' )
			,'content'  => '
__('Some stuff that stays above every help text', text_domain)
'
		) );
}

Вы можете использовать это на любой странице по умолчанию в WordPress, но проблема возникает, когда вы создаете свой собственный экран настроек для вашего плагина или настроек темы.

Добавить вкладку справки на страницу плагина

Когда вы добавляете новую страницу настроек для вашего плагина, вы, скорее всего, будете использовать функцию add_options_page (), которая добавит новую страницу в меню настроек. Эта функция поставляется с возвращаемым значением созданной страницы, которое мы можем использовать для добавления действия в событие загрузки.

$test_help_page = add_options_page(__('Test Help Tab Page', 'text_domain'), __('Test Help Tab Page', 'text_domain'), 'manage_options', 'text_domain', 'test_help_admin_page');
add_action('load-'.$my_admin_page, 'admin_add_help_tab');

На событии загрузки нашей страницы плагина будет запущена функция admin_add_help_tab (), это функция, которую мы можем использовать, чтобы добавить вкладку справки на страницу.

function admin_add_help_tab() {
    get_current_screen()->add_help_tab( array(
        'id'	=> 'test_help_tab',
        'title'	=> __('Test Help Tab'),
        'content'	=> '
' . __( 'Use this field to describe to the user what text you want on the help tab.' ) . '
',
    ) );
}

Полный код для добавления вкладки справки

Вот полный код, позволяющий добавить вкладку справки на страницу вашего плагина.

add_action('admin_menu', 'test_admin_help_tab');
function test_admin_help_tab() {
    $test_help_page = add_options_page(__('Test Help Tab Page', 'text_domain'), __('Test Help Tab Page', 'text_domain'), 'manage_options', 'text_domain', 'test_help_admin_page');
	add_action('load-'.$test_help_page, 'admin_add_help_tab');
}
function admin_add_help_tab () {
    global $test_help_page;
    $screen = get_current_screen();
    // Add my_help_tab if current screen is My Admin Page
    $screen->add_help_tab( array(
        'id'	=> 'test_help_tab',
        'title'	=> __('Test Help Tab'),
        'content'	=> '
' . __( 'Use this field to describe to the user what text you want on the help tab.' ) . '
',
    ) );
}
function test_help_admin_page(){}