Cuando se agrega una página con add_submenu_page()
, la URL debe ser algo como:
wp-admin/admin.php?page=<your_page_handle>
Su página se carga realmente de admin.php
(por lo general). Puede agregar parámetros a sus enlaces agregando algo así como &id=3
y luego hacer que su lógica principal de carga de página determine qué archivo incluir en función del parámetro.
Por ejemplo
if (isset($_GET['id']) && ((int) $_GET['id']) == 3) {
include 'second_page.php';
} else {
include 'first_page.php';
}
Editar:
He encontrado un truco que puede ser más fácil para usted, aunque no lo he probado a tope. Digamos que tiene dos páginas: my_one
y my_two
. Simplemente llame al add_submenu_page
dos veces, y configure el padre de la segunda página como la primera página. Esto hará que Wordpress no agregue un enlace a la barra de navegación, pero aún puede acceder a su página navegando al admin.php?page=my_two
.
Ejemplo:
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'
);
Bueno, sé cómo incluir una página como page.php, ¿qué tal page.php? Id = 3? Esto cambia todo y no sé cómo hacerlo. –
Agregué un método diferente que podría funcionar para usted. –
5 años después, y esta respuesta aún es útil. Sin embargo @FletcherMoore, ¿sabes cómo puedo hacerlo para que 'my_toplevel_link' aún permanezca seleccionado como el menú ** principal **? –