¿Recuerdas los momentos en que necesitábamos crear páginas de opciones para nuestros temas? Por supuesto que sí, porque todavía los necesitamos! Cuando el personalizador de WordPress se queda corto en el manejo de la funcionalidad de su tema, deberá crear una página de opciones adicionales para ofrecer una mejor experiencia a sus usuarios..
Si bien siempre es una opción crear estos paneles de opciones desde cero, es mejor usar las ruedas ya inventadas. En esta parte de la serie "Caja de herramientas del desarrollador de Smart WordPress", veremos Vafpress, un marco sólido de opciones de temas de WordPress para su próximo proyecto de tema..
Es hora de una cierta controversia: no creo que el personalizador esté listo para temas, todavía.
Aunque admito que el Customizer es simplemente un increíble herramienta, también puedo ver que simplemente no es calificado para servir toda la funcionalidad de incluso un tema multipropósito simple. Lo sé, lo sé, los temas multipropósito no tienen alma, los temas capitalistas que arruinan el mundo de WordPress ... ¿o son? Quiero decir, admito que sería mejor si los temas de un solo propósito fueran más populares, pero ¿podemos ignorar el hecho de que los temas de múltiples propósitos son la primera elección de la mayoría de las agencias de diseño, autónomos e incluso usuarios novatos de WordPress que desean construir? un sitio web para sus negocios?
Al final del día, tenemos que preguntarnos para comprender la necesidad de marcos de opciones de tema en contra del Personalizador: WordPress para WordPress o WordPress para el bien de las personas. Aunque apoyo que WordPress se estandarice cada vez más en varios aspectos, también creo que no podemos ignorar las demandas de la comunidad de usuarios de WordPress. Después de todo, si los desarrolladores ignoramos las demandas de los usuarios, WordPress no habría crecido tanto como ahora..
Además, tampoco creo que el Personalizador sea suficiente para temas de un solo propósito (todavía). Ni siquiera tenemos una forma estandarizada y centralizada de crear partes de contenido (como controles deslizantes, menús y demás) todavía, y diga lo que diga en contra de esto, los usuarios de WordPress necesitan (y siempre tendrán) una única interfaz para controlar sus temas..
Mantengo esta sección corta, porque el tema es Vafpress como herramienta de desarrollo de WordPress y puedo hablar sobre "los marcos de opciones de personalizador versus tema" para otras mil palabras. Pero no me dejes corto para que no comentes: me encantaría escuchar tu opinión sobre esto.!
No hace falta decirlo en este punto, pero es habitual abrir cada sección con una simple introducción: Vafpress es un marco de opciones temáticas. Y una muy buena, debería decir. Creado por Vafour, un equipo de desarrollo web de Indonesia, Vafpress afirma que Construir un tema de WordPress nunca ha sido tan fácil y rápido..
Simplemente descargue Vafpress desde su página de descargas oficial o su repositorio de GitHub, y veamos rápidamente las partes buenas..
Desde el día en que escribo este tutorial, Vafpress tiene 19 campos de control divididos en dos categorías llamadas "Campos" y "Campos múltiples".
caja de texto
: Genera una entrada de texto.textarea
: Genera un textarea
campo.palanca
: Genera un conmutador de sí / no.deslizador
: Genera un control deslizante de rango.subir
: Genera un campo de carga utilizando WordPress Media Manager.color
: Genera un selector de color..fecha
: Genera un selector de fecha.editor de código
: Genera un editor de código.wpeditor
: Genera un editor WYSIWYG.impresionante
: Genera un selector de iconos usando Font Awesome.notebox
: Genera un campo que puede usar para informar a los usuarios de su tema.html
: Le permite mostrar código HTML personalizado.seleccionar
: Genera un simple
campo.selección múltiple
: Genera un menú desplegable múltiple.caja
: Genera un grupo de casillas de verificación..checkimage
: Genera un grupo de imágenes seleccionables, trabajando como casillas de verificación.boton de radio
: Genera un grupo de botones de radio..radioimagen
: Genera un grupo de imágenes seleccionables, que funcionan como cajas de radio..clasificador
: Genera un campo de selección múltiple ordenable..No se sentiría bien si no terminara esta sección sin un ejemplo; hagamos una única y simple. Las siguientes líneas de código crean un campo Selector de color:
array (array ('tipo' => 'color', 'nombre' => 'example_color_picker', 'label' => 'Selector de color', 'description' => '¡Establezca un color para sus encabezados aquí!', 'predeterminado '=>' rgba (255,255,255, .75) ',' format '=>' hex ',), array (// otro campo),)?>
Esta parte puede ser difícil al principio, pero tiene una curva de aprendizaje suave.
El panel de opciones que podemos crear con Vafpress consta de un par de bloques de construcción:
Comencemos viendo la construcción del "creador de páginas de opciones":
falso, // el nombre de la configuración en la base de datos 'option_key' => 'vpt_option', // el slug de su página de opciones 'page_slug' => 'vpt_option', // ruta al archivo de plantilla o la matriz 'template '=> get_template_directory (). '/options-template.php', // página del menú principal 'menu_page' => 'themes.php', // decide si nombrar automáticamente los menús o no 'use_auto_group_naming' => true, // show (por defecto) o oculta la página "Exportar / Importar" 'use_exim_menu' => true, // rol mínimo de usuario para ver el panel de opciones 'minimum_role' => 'edit_theme_options', // tipo de diseño (fijo por defecto) 'layout' => 'fix', // título de la página de opciones 'page_title' => __ ('Theme Options', 'vp_textdomain'), // title del menú principal item 'menu_label' => __ ('Theme Theme', 'vp_textdomain '),)); // engancharlo a la acción add_action after_setup_theme ('after_setup_theme', 'my_options')?>
Una cosa buena acerca del "generador de opciones de página" es que puede apuntar a un archivo separado donde guarda todos sus menús (y secciones dentro de los menús y campos dentro de las secciones). En el ejemplo anterior, señalamos un archivo de plantilla llamado opciones-plantilla.php
. Veamos con qué llenar ese archivo también:
__ ('Panel de opciones de Vafpress', 'vp_textdomain'), 'logo' => ", 'menus' => array (array ('title' => __ ('Controles especiales', 'vp_textdomain'), 'name' = > 'menu_2', 'icon' => '/icon/special.png', 'controls' => array (// ... colección de Secciones y / o Campos de Control ...),),));?>
Si lo desea, también puede hacer algunos "menús anidados":
__ ('Panel de opciones de Vafpress', 'vp_textdomain'), 'logo' => ", 'menus' => array (array ('title' => __ ('Standard HTML Controls', 'vp_textdomain'), 'name' => 'menu_1', 'icon' => 'font-awesome: icon-magic', 'menus' => array (array ('title' => __ ('Regular', 'vp_textdomain'), 'name' = > 'submenu_1', 'icon' => 'font-awesome: icon-th-large', 'controls' => array (// ... colección de Secciones y / o Campos de Control…),), array ('title' = > __ ('Image', 'vp_textdomain'), 'name' => 'submenu_2', 'icon' => 'font-awesome: icon-picture', 'controls' => array (// ... colección de Secciones y o Campos de control ...),),),),))?
Y dentro de la matriz de la 'controles'
Argumentos, usamos algo como lo siguiente:
array (array ('title' => __ ('TextBox and TextArea', 'vp_textdomain'), 'name' => 'section_1', 'description' => __ ('TextBox and TextArea Showcase', 'vp_textdomain'), 'fields' => array (//… colección de campos de control…),),)?>
Una vez más, esto podría requerir un poco de práctica al principio, pero es un paseo por el parque una vez que te acostumbras..
Todas estas características deberían ser suficientes para un marco como Vafpress, pero Vafpress no se detiene ahí, tiene un par de trucos más en la manga:
Hay muchas cosas que puede lograr con Vafpress, más de lo que hemos cubierto aquí en este tutorial. Asegúrese de consultar la documentación de Vafpress para obtener más información al respecto..
¿Qué opinas de Vafpress? ¿Crees que le darás una oportunidad en tu próximo proyecto temático? Dinos lo que piensas en la sección de Comentarios a continuación. Y si te gustó el artículo, no olvides compartirlo con tus amigos.!
Nos vemos en la siguiente parte, donde veremos CMB2, un metabox, campos personalizados y biblioteca de formularios para WordPress.