Añadir opciones a un plugin wordpress
Consta de una variable para establecer un nombre de id para establecer las opciones en la base de datos, añadir la acción al hook del menu al construir el plugin, establecer como aparecerá en la pestaña las opcinones con add_options_page, y el código que mostrará y gestionará las opciones insertadas. Aquí un ejemplo básico de como quedaría:
<?php class miPlugin() { var $db_option = 'miPlugin_Options'; function miPlugin() { //Línea para incluir el menú add_action('miMenu', array(&$this, 'admin_menu')); } function miMenu() { add_options_page('Opciones del plugin', 'Algun id', 8, basename(__FILE__), array(&$this, 'opciones')); } function opciones() { $options = $this->get_options(); if (isset($_POST['submitted'])) { check_admin_referer('nonce'); $options = array(); $options['a'] = $_POST['a']; $options['b'] = $_POST['b']; update_option($this->db_option, $options); } // Aquí establecemos algunas variables que usaremos en el form $action_url = $_SERVER['REQUEST_URI']; $a = $options['a']; $b = $options['b']; ?> <form name="SnazzyArchives" action="<?php echo $action_url ?>" method="post"> <?php wp_nonce_field('nonce'); ?> <input type="checkbox" name="a" <?php echo $a ?> /><label> Show Posts</label> <br /> <input type="checkbox" name="b" <?php echo $b ?> /><label> Show Pages</label> <br /> <div><input type="submit" name="Submit" value="Update" /></div> </form> <?php } } ?>
Solo decir que que las opciones se obtienen con $options = $this->get_options(); y se establecen con update_option($this->db_option, $options); Además, sirve como parametro de seguridad para cercionarnos que se está empleando el formulario correcto. Esto luego se comprueba con check_admin_referer(‘nonce’);