07. Programar Wordpress Desde Cero

07.-Programar WordPress desde cero [admin_menu]

07. Programar%2BWordpress%2BDesde%2BCero

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");
    }
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *