La página de funciones de WordPress
La página de funciones de WordPress
Al añadir el submenú hemos especificado un parámetro como ‘miplugin_pagina_de_opciones’. Esta es la función que se ejecutará al acceder a nuestro submenú. Así que vamos a definirla; en
realidad, esta función lo que va a hacer es mostrar un formulario HTML…
function miplugin_pagina_de_opciones(){
?>
<div class=’wrap’><h2>Opciones de mi sitio</h2></div>
<form method=’post’>
<input type=’hidden’ name=’action’ value=’salvaropciones’>
<table>
<tr>
<td>
<label for=’telefono’>Telefono</label>
</td>
<td>
<input type=’text’ name=’telefono’ id=’telefono’ >
</td>
</tr>
<tr>
<td>
<label for=’direccion’>Dirección</label>
</td>
<td>
<input type=’text’ name=’direccion’ id=’direccion’ >
</td>
</tr>
<tr>
<td>
<label for=’email’>Email</label>
</td>
<td>
<input type=’text’ name=’email’ id=’email’ >
</td>
</tr>
<tr>
<td colspan=’2′>
<input type=’submit’ value=’Enviar’>
</td>
</tr>
</table>
</form>
<?php
}
Formulario HTML que, dicho sea de paso, carece de funcionalidad. Si pulsamos en Enviar no pasa nada. Retoquemoslo un poco.
function miplugin_pagina_de_opciones(){
echo(“<div class=’wrap’><h2>Opciones de mi sitio</h2></div>”);
if(isset($_POST[‘action’]) && $_POST[‘action’] == “salvaropciones”){ update_option(‘miplugin_telefono’,$_POST[‘telefono’]); update_option(‘miplugin_direccion’,$_POST[‘direccion’]); update_option(‘miplugin_email’,$_POST[’email’]);
echo(“<div class=’updated message’ style=’padding: 10px’>Opciones guardadas.</div>”);
}
?>
<form method=’post’>
<input type=’hidden’ name=’action’ value=’salvaropciones’>
<table>
<tr>
<td>
<label for=’telefono’>Telefono</label>
</td>
<td>
<input type=’text’ name=’telefono’ id=’telefono’ value='<?=get_option(‘miplugin_telefono’)?>’>
</td>
</tr>
<tr>
<td>
<label for=’direccion’>Dirección</label>
</td>
<td>
<input type=’text’ name=’direccion’ id=’direccion’ value='<?=get_option(‘miplugin_direccion’)?>’>
</td>
</tr>
<tr>
<td>
<label for=’email’>Email</label>
</td>
<td>
<input type=’text’ name=’email’ id=’email’ value='<?=get_option(‘miplugin_email’)?>’>
</td>
</tr>
<tr>
<td colspan=’2′>
<input type=’submit’ value=’Enviar’>
</td>
</tr>
</table>
</form>
<?php
}
Ahora sí. Esta es una forma sencilla de hacerlo sin calentarnos mucho la cabeza. Detectará por
$_POST si entran nuevos datos. Si es asi, actualizamos las opciones con update_option. Además, los campos se rellenan con get_option si la opción existe y tiene un valor no nulo. Y en cualquier parte de nuestra web podemos recuperar estos valores con la misma función, get_option, pues hemos establecido opciones globales al sistema.
(Nota: los validadores y las comprobaciones de errores son cosa suya. La
función update_option devuelve true o false dependiendo de si los datos se han salvado o no).
Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros