Quien me conoce sabe que prefiero el uso de frameworks que reinventar la rueda a no ser que queramos algo mucho más específico, y aun así seguro que podemos extender las funcionalidades de los frameworks.
- Programas más en menos tiempo.
- Usas código ya probado por personas antes que tú.
En este caso traigo a colación el Options Framework para WordPress, uno de muchos frameworks para campos de opciones, aquellas que normalmente vemos dentro de esos temas premium o gratuitos que por ejemplo nos permiten cambiar el color de fondo, el tamaño de la tipografía o la fuente de los diferentes elementos.
Presentación
El framework ofrece todo lo necesario para crear un panel de configuración con diferentes campos como:
- text
- textarea
- checkbox
- select
- radio
- upload (an image uploader)
- images (use images instead of radio buttons)
- background (a set of options to define a background)
- multicheck
- color (a jquery color picker)
- typography (a set of options to define typography)
- editor
Puede ser instalado como plugin o embeberlo (versión theme) en nuestro tema siendo la segunda de las opciones las que nos permite más personalización y aunque en un principio es gratuito por 30$ se puede conseguir la última versión así como temas de ejemplo en los que poder fijarte en el código para que en tu tema te ajustes a tus necesidades.
En esta entrada nos vamos a centrar en la segunda versión y vamos a ver como crear un panel de administración.
Descarga e instalación
La versión theme la podemos descargas de github en esta URL. Se nos descarga lo que es un theme de WordPress cuya instalación es igual a la de cualquier otro theme así hay que descomprimirlo en una carpeta en el directorio themes dentro de wp-content.
Desde la sección de Apariencia -> Temas de nuestro WordPress podremos activar el tema para ver el ejemplo de panel de configuración.
Ahora desde Apariencia -> Theme Options podemos ver un ejemplo de campos para una configuración básica, elementos avanzados y el editor de texto de WordPress.
Lo que queremos es que este tipo de paneles de opciones los podamos montar en nuestro tema.
Configurando nuestro tema
He creado una estructura de ejemplo para nuestro tema
Los pasos para incrustar el panel de opciones son los siguientes:
- Copiar las imágenes.
- Copiar options.php. Si no queremos tocar mucho más lo deberemos poner en la raíz de nuestro tema, pero en este caso lo vamos a colocar en includes para tenerlo más organizado.
- Copiar la carpeta inc. Al igual que en el caso anterior si no queremos jaleos deberemos copiarla tal cual en la raíz de nuestro sitio, pero en este caso vamos a copiarla dentro de includes y además la vamos a renombrar a options-framework.
- Modificar functions.php.
En nuestro functions.php deberemos copiar:
[php]
/*
* Loads the Options Panel
*
* If you’re loading from a child theme use stylesheet_directory
* instead of template_directory
*/
define( ‘OPTIONS_FRAMEWORK_DIRECTORY’, get_template_directory_uri() . ‘/inc/’ );
require_once dirname( __FILE__ ) . ‘/inc/options-framework.php’;
[/php]
Pero le tenemos que hacer modificaciones ya que la estructura ha cambiado.
[php]
/*
* Loads the Options Panel
*
* If you’re loading from a child theme use stylesheet_directory
* instead of template_directory
*/
define( ‘OPTIONS_FRAMEWORK_DIRECTORY’, get_template_directory_uri() . ‘/includes/options-framework/’ );
require_once dirname( __FILE__ ) . ‘/includes/options-framework/options-framework.php’;
[/php]
Además como options.php también lo hemos copiado en includes debemos cambiar el archivo class-options-framework.php en su línea 105:
[php]
$location = apply_filters( ‘options_framework_location’, array( ‘includes/options.php’ ) );
[/php]
Con esto ya tendriamos el framework instalado en nuestro tema y además con modificaciones de rutas.
Por último nos quedaría examinar bien el archivo options.php pues ahí es donde hay un ejemplo de cada tipo de campo posible y donde nos tenemos que fijar muy bien en la id pues para recuperar los campos lo tenemos que hacer usando la función of_get_option($id, $default).
Recapitulando
El uso de frameworks nos ayuda a ser más productivos cuando la curva de aprendizaje es corta, este es el caso pues nos hemos ahorrado la programación de nuestro propio panel de administración con todo lo que ello conlleva, CSS, HTML, llamadas a WordPress, etc. Todo ello lo hemos sustituido por código ya probado y que por 30$ más nos permite muchas más cosas, personalizaciones, etc. Ésta sin duda es una opción bastante sencilla y potente.
Os dejo los comentarios para lo que queráis 🙂
3 comentarios en «Options Framework. WordPress.»
Saludos espero puedas ayudarme.
Ya baje los archivos de Github para el framework pero en que carpeta se tienen que copiar? Donde esta localizada dicha carpeta?? que ruta tiene?
Gracocas
Hola, es posible que mis editores puedan acceder a estos menus? de momento solo lo puedo acceder desde la cuenta de super admin. Sería ideal que otros roles puedan operar estos menus para no darles acceso a superadmin por cuestiones de seguridad.
espero puedas ayudarme ya que no he encontrado como configurar los permisos de acceso a estos menus en la documentación de este fabuloso framework.
saludos
Saludos, he estado intentando usar este frameword antes, y el problema que me dá es que no me permite subir las imágenes luego..