Muchas veces cuando desarrollamos un tema o plugin a medida nos encontramos con necesidad de implementar una sección en el administrador donde guardar opciones personalizadas. Soluciones tenemos múltiples: plugins de opciones como OptionTree (que está quedando obsoleto pero todavía funcional a favor de Customize API), Cusotmize API de WordPress que nos permite previsualizar cambios, Settings API de WordPress o implementar nuestro propio formulario. Si lo hacemos con Settings API o con un formulario propio tenemos que empezar con registrar una sección en el administrador a travez de la función add_submenu_page(). Pero en este post os quiero enseñar cómo hacerlo con Settings API y un framework que hice para simplificar el proceso aún más. El código podeis descargar de mi repositorio en Github: E24 Settings API.

Vamos suponer que necesitamos visualizar un eslogan en una parte de nuestra plantilla. Podemos introducir el texto directamente en el archivo o mejor registrar un campo en el administrador que guarda el texto el la base de datos y imprimirlo después en el archivo.

Primero tenemos que incluir el archivo en nuestro functions.php si lo que desarrollamos es un tema o en el archivo principal del plugin.

...
require dirname(__FILE__) .  '/e24-settings-api.php';
...

Si dejamos la configuración por defecto el acceso a la sección estaría en Ajustes -> E24 Settings.

Ahora vamos a configurar los campos. En nuestro caso tenemos que añadir el campo Slogan que vamos a incluir dentro del grupo general que ya tenemos en el ejemplo del archivo. Así que borramos todas los campos del ejemplo y dejamos ‘option_2’  que es del tipo textarea y le cambiamos el nombre:

...
'fields' => array(
	'slogan' => array(
		'type' => 'textarea',
		'title' => __('Slogan', 'e24'),
		'description' => __('Company slogan', 'e24')
	)
)
...

Cuando introducimos el texto en el campo Slogan y damos a guardar el valor se guarda en la base de datos, especificmente en la tabla wp_options. Todas las opciones tendrán el prefijo e24_‘ por defecto si no lo modificamos y el sufijo ‘_es’ que depende del idioma en la que estamos. Es porque E24 Settings API está diseñado para ser multilingue. En la base de datos el nombre completo  de nuestra opción sería ‘e24_slogan_es’.

Para imprimir el texto dentro de nuestro archivo del tema es suficiente llamar a get_option(‘e24_slogan_es’) o más fácil para no tener que incluir cada vez el prefijo y sufijo utlizar la función incluida en E24 Settings API e24_get_option($name);

...
echo e24_get_option('slogan');
...
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

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