Функция add_dashboard_page() в WordPress позволяет добавлять новые страницы в админке к пункту Консоль. Это полезно для создания собственных страниц администрирования или добавления специализированных панелей для администраторов.
Рекомендуется использовать функцию add_menu_page() или add_submenu_page() для добавления страниц в административное меню.
add_dashboard_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $callback = ”, int $position = null ): string|false
Параметры
$page_title(string): Заголовок страницы, который будет отображаться в тегах<title>в браузере при выборе меню.$menu_title(string): Название элемента меню, которое будет отображаться в боковой панели панели управления.$capability(string): Способность пользователя, необходимая для отображения страницы в меню. Это определяет, будет ли страница доступна пользователю в зависимости от его ролей и привилегий.$menu_slug(string): Уникальный идентификатор для этой страницы, используемый в URL и для регистрации страницы.$function(callable, optional): Функция, которая будет вызываться для отображения содержимого страницы.
Дополнительные параметры
$position(int, optional): Позиция в меню, на которой должен появляться этот элемент. По умолчанию этот параметр не используется.
Возвращаемое значение
Функция возвращает строку с hook_suffix новой страницы, которая может быть использована для различных целей, таких как создание ссылок на страницу. Если у пользователя нет необходимой способности для доступа к странице, функция возвращает false.
Пример использования
function my_custom_dashboard_page() {
// Добавляем страницу в панель управления
add_dashboard_page(
'Моя кастомная страница', // Заголовок страницы
'Моя страница', // Название элемента меню
'manage_options', // Необходимая способность пользователя
'my_custom_dashboard', // Уникальный идентификатор
'my_custom_dashboard_page_content' // Функция для отображения содержимого
);
}
add_action('wp_dashboard_setup', 'my_custom_dashboard_page');
function my_custom_dashboard_page_content() {
// Содержимое страницы
echo '<h1>Добро пожаловать на мою кастомную страницу!</h1>';
echo '<p>Здесь вы можете разместить любое содержимое, которое хотите.</p>';
}
Дополнительная информация
Функция add_dashboard_page() является оберткой для вызова функции add_submenu_page(), передавая полученные аргументы и устанавливая index.php в качестве аргумента $parent_slug. Это означает, что новая страница будет добавлена как подменю к главному меню панели управления (Консоль).
Параметр $capability используется для определения, будет ли страница отображаться в меню на основе ролей и привилегий текущего пользователя. Функция, обрабатывающая вывод страницы, также должна проверять права пользователя.
Если при попытке доступа к странице вы видите сообщение «У вас недостаточно прав для доступа к этой странице», вероятно, вы используете хук слишком рано. Для добавления страницы в меню панели управления используйте хук admin_menu.
Заключение
Функция add_dashboard_page() предоставляет способ добавления пользовательских страниц в панель управления WordPress, что полезно для расширения функционала администрирования. В современных версиях WordPress для достижения аналогичных результатов рекомендуется использовать функции add_menu_page() и add_submenu_page().