Hoy vamos a tratar de crear parámetros en nuestro plugin. y vamos a guardarlos de forma fácil y sencilla con Antonella Framework.

Siempre desde el inicio

Vamos a crear el proyecto como siempre. Vamos a la carpeta donde tenemos los proyectos de Antonella framework y en la consola ponemos

[code lang=»shell»]

git clone https://bitbucket.org/cehojac/antonella-framework-for-wp.git guardar-parametros

[/code]

donde «guardar-parametros» es la carpeta del plugin

luego

[code lang=»bash»] cd guardar-parametros
php antonella namespace PCP
[/code]

Le he puesto PCP por «Proyecto Cambiar Parametro» pero ustedes pueden poner el que quieran

Luego vamos a crear un controlador

[code lang=»bash»]

php antonella make ParametrosController

[/code]

Antonella creara un archivo llamado ParametrosControler.php en la carpeta src

Creamos los parametros

Ok. para crear los parametros es muy sencillo. solo debemos ir al archivo src/Config.php e ir a la linea 15 aprox.

[code lang=»php»]

/*
* Plugins option
* storage in database the option value
* Array (‘option_name’=>’default value’)
* @example [«example_data» => ‘foo’,] * @return void
*/
public $plugin_options=[];
[/code]

en $plugin_options vamos a crear los parametros que guardaremos en nuestro WP y si queremos le ponemos un valor por defecto para cuando el plugin se instale.

 

[code lang=»php»] public $plugin_options=[
‘valor1’=>»,
‘valor2’=>’algun valor’,
‘valor3’=>[‘pera’,’manzana’], //inclusive puedes guardar arrays
];

[/code]

Creamos el menú en el Escritorio de WordPress

Ok ahora vamos a crear una sección en el menú de Administración. Para ello vamos en el mismo archivo Config.php y buscamos la sección plugin menu

[code lang=»php»]

/*
* Plugin menu
* set your menu option here
*/
public $plugin_menu=[];

[/code]

encontrarás código comentado, son ejemplos de como puedes crear este apartado. vamos a reemplazarlo y poner este array

[code]

public $plugin_menu=[
[
«path» => [«page»],
«name» => «Guardar Parámetros»,
«function» => __NAMESPACE__.»ParametrosController::MostrarMenu»,
«icon» => «antonella-icon.png»,
«slug» => «guardar-parametros»,
]

];

[/code]

Con esto vamos a crear dentro del menú de WordPress una sección llamada «Guardar Parámetros» y cuando entremos a esa sección ejecutaremos la función MostrarMenu dentro de la clase  ParametrosController.

Vamos a ParametrosController y dentro de la clase insertamos la funcion

[code lang=»php»]

public function MostrarMenu()
{
$valor1= get_option(‘valor1’);
$html = <<<EOT
<form method=»POST»>
<h1>Guardar Parámetros</h1>
<div class=»form-group»>
<label for=»valor1″>Valor1</label>
<input type=»text» class=»form-control» id=»valor1″ name=»valor1″ value=»{$valor1}»>
<small id=»emailHelp» class=»form-text text-muted»>Puedes poner aqui tu valor</small>
</div>
<button type=»submit» name=»guardar_parametros» class=»btn btn-primary»>Submit</button>
</form>
EOT;
return $html;
}
[/code]

Recuerda que no debe haber espacio inicial entre los EOT. si buscas más información puedes verlo aquí https://stackoverflow.com/questions/1848945/best-practices-working-with-long-multiline-strings-in-php

En la parte $valor1 usamos una función de WordPress llamado get_option() y el valor que queremos obtener. en este caso valor1. la primera vez saldrá vacío porque no lo hemos definido en el config el valor por defecto.

Guardamos los valores

Ahora vamos a crear la función para obtener los valores y guardar los valores en WordPress. Esto lo hacemos dentro de la misma clase ParametrosController

[code lang=»php»] function GuardarParametros()
{
foreach($_POST as $key=>$data)
{
update_option($key,strip_tags($data));
}
}

[/code]

Ya por último vamos a decirle a Antonella que cuando venga una petición de post que tenga entre sus valores el name guardar_parametro (es mismo name que pusimos en el boton del formulario) se ejecute la funcion de GuardarParametros. Para ello vamos a config y buscamos el apartado POST

[code lang=»php»] /**
* POST data process
* get the post data and execute the function
* @example [‘post_data’=>’PCP::function’] */
public $post=[];

[/code]

reemplazamos y ponemos

[code lang=»php»] /**
* POST data process
* get the post data and execute the function
* @example [‘post_data’=>’PCP::function’] */
public $post=[«guardar_parametros»=> __NAMESPACE__.»ParametrosController::GuardarParametros»];

[/code]

La parte final

Y ya está. sólo queda en la consola construir el zip para subir el plugin

[code lang=»bash»] php antonella makeup
[/code]

Lo que pasara al activar el plugin es que aparecerá esto

Al hacer submit guardará los datos en WordPress y nos devolverá al mismo formulario. ¿Genial no?

Os dejo el repositorio con el ejemplo para que lo puedan descargar y modificar a su gusto. El link esta aquí

Si te ha gustado compártelo.

¿Cansado de Agencias que Prometen Mucho y Entregan Poco?

Somos un equipo senior con más de 10 años en diseño, desarrollo y estrategia digital. Sin juniors gestionando tu proyecto. Sin presupuestos inflados. Solo ejecución precisa, en plazo.

Entrada anterior
Antonella Framework Crear un formulario y obtener sus datos
Entrada siguiente
Crear un shortcode con Antonella Framework
ARTÍCULOS RELACIONADOS
¿Quieres tranquilidad y rendimiento para tu sitio WordPress?

Optimiza tu web con nuestro servicio de mantenimiento especializado. Deja de preocuparte por caídas, errores y malfuncionamientos.

Deja una respuesta

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

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

Ir al contenido