08.-Programar WordPress desde cero [admin_menu avanzado]
INTRODUCCIÓN
Imaginemos esta situación: nos piden un programa de gestión empresarial (Seria un poco raro en wordpress pero puede pasar) asi que lo debemos hacer es crear un menu donde se van a dividir los diferente elementos de nuestra empres por ejemplo:
– Empleados
– Productos
– Clientes
– Proveedores
– etc. etc.
Para esto WordPress nos ofrece funciones de gestión de menús, en realidad no son muy amplias pero es lo que hay.
PROCEDIMIENTOS
1.- En wp-content/plugins/ creamos una carpeta llamada mi-admin-menu-avanzado
2.- Dentro de la carpeta mi-admin-menu-avanzado creamos un archivo llamado mi-admin-menu-avanzado.php donde colocaremos este código:
<?php /* Plugin Name: mi-admin-menu-avanzado Plugin URI: programadornovato.com Description: Este pluging crea un menu y submenus en el administrador Version: 1.0.0 Author: Eugenio Chaparro Author URI: programadornovato.com License: GPLv2 */ // Inicializa el menu en el administrador add_action('admin_menu', 'mi_menu_avanzado'); function mi_menu_avanzado() { // Creamos el menu padre $page_title="Titulo de la pagina"; $menu_title="Titulo del menu"; $permisos="manage_options"; $menu_slug="menu_avanzado_slug"; $menu_ir_a_funcion="menu_ir_a_funcion"; $icono='dashicons-megaphone'; add_menu_page($page_title, $menu_title, $permisos, $menu_slug,$menu_ir_a_funcion,$icono); // Creamos el submenu1 $menu_padre=$menu_slug; $sub_page1_title="Sub page1 titulo"; $sub_menu1_title="Sub menu1 titulo"; $sub_menu1_slug='submenu1_avanzado_slug'; $submenu1_funcion='submenu1_funcion'; // Creamos el submenu2 add_submenu_page($menu_padre, $sub_page1_title, $sub_menu1_title, $permisos, $sub_menu1_slug, $submenu1_funcion); $sub_page2_title="Sub page2 titulo"; $sub_menu2_title="Sub menu2 titulo"; $sub_menu2_slug='submenu2_avanzado_slug'; $submenu2_funcion='submenu2_funcion'; add_submenu_page($menu_padre, $sub_page2_title, $sub_menu2_title, $permisos, $sub_menu2_slug, $submenu2_funcion); } function menu_ir_a_funcion() { echo '<div>menu_ir_a_funcion</div>'; } function submenu1_funcion() { echo '<div>submenu1_funcion</div>'; } function submenu2_funcion() { echo '<div>submenu2_funcion</div>'; }