fix: corregir estructura de menú para mostrar submenú Theme Options
- Cambiar menu slug principal a 'apus-theme-menu' (contenedor) - Menú principal sin callback (solo contenedor del submenú) - Submenú 'Theme Options' con slug 'apus-theme-settings' (página real) - Actualizar hook en enqueue_assets a 'apus-theme_page_apus-theme-settings' - Limpiar logs de debug Ahora el menú 'Apus Theme' muestra correctamente el submenú desplegable con 'Theme Options'
This commit is contained in:
@@ -18,7 +18,7 @@ class APUS_Admin_Menu {
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct() {
|
||||
add_action('admin_menu', array($this, 'add_menu_page'));
|
||||
add_action('admin_menu', array($this, 'register_menu'));
|
||||
add_action('admin_enqueue_scripts', array($this, 'enqueue_assets'));
|
||||
}
|
||||
|
||||
@@ -26,16 +26,27 @@ class APUS_Admin_Menu {
|
||||
* Registrar página de admin
|
||||
* Crea menú de nivel superior en sidebar (NO dentro de Apariencia)
|
||||
*/
|
||||
public function add_menu_page() {
|
||||
public function register_menu() {
|
||||
// Menú principal de nivel superior (sin callback para que sea solo contenedor)
|
||||
add_menu_page(
|
||||
'Apus Theme Options', // Page title
|
||||
'Apus Theme', // Page title
|
||||
'Apus Theme', // Menu title
|
||||
'manage_options', // Capability
|
||||
'apus-theme-settings', // Menu slug
|
||||
array($this, 'render_admin_page'), // Callback
|
||||
'apus-theme-menu', // Menu slug (solo identificador, no página real)
|
||||
'', // Sin callback = solo contenedor
|
||||
'dashicons-admin-generic', // Icon (WordPress Dashicon)
|
||||
61 // Position (61 = después de Appearance que es 60)
|
||||
);
|
||||
|
||||
// Submenú "Theme Options" (primer y principal subitem)
|
||||
add_submenu_page(
|
||||
'apus-theme-menu', // Parent slug
|
||||
'Theme Options', // Page title
|
||||
'Theme Options', // Menu title
|
||||
'manage_options', // Capability
|
||||
'apus-theme-settings', // Menu slug (página real)
|
||||
array($this, 'render_admin_page') // Callback
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,8 +64,8 @@ class APUS_Admin_Menu {
|
||||
* Encolar assets (CSS/JS)
|
||||
*/
|
||||
public function enqueue_assets($hook) {
|
||||
// Solo cargar en nuestra página (toplevel = menú de nivel superior)
|
||||
if ($hook !== 'toplevel_page_apus-theme-settings') {
|
||||
// Solo cargar en nuestra página
|
||||
if ($hook !== 'apus-theme_page_apus-theme-settings') {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user