Когда вы добавляете страницу с add_submenu_page()
, URL должен выглядеть примерно так:
wp-admin/admin.php?page=<your_page_handle>
Ваша страница фактически загружена с admin.php
(обычно). Вы можете добавить параметры к своим ссылкам, добавив что-то вроде &id=3
, а затем с помощью логики загрузки страниц вашего основного плагина определить, какой файл включить на основе параметра.
Например,
if (isset($_GET['id']) && ((int) $_GET['id']) == 3) {
include 'second_page.php';
} else {
include 'first_page.php';
}
Edit:
Я нашел трюк, который может быть проще для вас, хотя я не проверил его полностью. Допустим, у вас есть две страницы: my_one
и my_two
. Просто дважды наберите add_submenu_page
и установите родителя второй страницы в качестве первой. Это приведет к тому, что Wordpress не будет добавлять ссылку на панель навигации, но вы все равно сможете получить доступ к своей странице, перейдя к admin.php?page=my_two
.
* * Пример тысяча двадцать-один: * * 1 022
add_submenu_page(
'my_toplevel_link'
, 'Page Title'
, 'Link Name'
, 'administrator'
, 'my_one' // here's the page handle for page one
, 'my_one_callback'
);
add_submenu_page(
'my_one' // set the parent to your first page and it wont appear
, 'Page Title'
, 'Link Name' // unused
, 'administrator'
, 'my_two'
, 'my_two_callback'
);