07.-Programar WordPress desde cero [admin_menu]
INTRODUCCIÓN
En este tutorial vamos a crear un menú en el administrador de wordpress y a ese menú le vamos a colocar un formulario donde vamos a guardar dos campos.
Los 2 campos que vamos a crear se van a guardar con la funcion settings_fields que nos ofrece wordpress.
PROCEDIMIENTOS
1.- En wp-content/plugins/ creamos una carpeta llamada mi-admin-menu
2.- Dentro de la carpeta mi-admin-menu creamos un archivo llamado mi-admin-menu.php donde colocaremos este código:
<?php /* Plugin Name: mi-admin-menu Plugin URI: programadornovato.com Description: Este pluging crea un menu en administrador y crea tambien un formulario Version: 1.0.0 Author: Eugenio Chaparro Author URI: programadornovato.com License: GPLv2 */ // Inicializa el menu en el administrador add_action("admin_menu", "opciones_de_admin"); if (!function_exists("opciones_de_admin")) { function opciones_de_admin() { // Configuramos los parametros del menu //add_options_page($page_title , $menu_title , $capability , $menu_slug , $function) add_options_page( "Titulo pagina", "Titulo menu", "manage_options", "id_menu" , "cuerpo_del_admin"); } } if (!function_exists("cuerpo_del_admin")) { function cuerpo_del_admin() { ?> <div class="wrap"> <?php echo screen_icon(); ?> <h2>Opciones de mi plugin</h2> </div> <form method="post" action="options.php"> <?php //Le decimos a wordpress que inputs pertenecen al group grupo settings_fields("grupo"); @do_settings_fields("grupo"); ?> <table class="form-table"> <tr valign="top"> <th scope="row">Nombre</th> <td><input type="text" name="nombre" id="nombre" value="<?php echo get_option("nombre"); ?>"/></td> </tr> <tr valign="top"> <th scope="row">Direccion</th> <td><input type="text" name="direccion" id="direccion" value="<?php echo get_option("direccion"); ?>"/></td> </tr> </table> <?php @submit_button(); ?> </form> <?php } } // Accion que va a gurdar los campos del formulario add_action("admin_init", "opciones_admin_init"); if (!function_exists("opciones_admin_init")) { function opciones_admin_init() { //Le decimos wordpress que guarde los elementos con el name nombre y direccion dentro del group grupo //register_setting($option_group, $option_name); register_setting( "grupo" , "nombre"); register_setting( "grupo" , "direccion"); } }
Ave que vuela, a la cazuela.