Wordpress es un
CMS o Sistema de Gestión de Contenidos, bastante fácil de utilizar y muy usado por Community Managers o Diseñadores para crear los sitios web de sus clientes, o incluso cualquier emprendedor puede comenzar a crear un sitio web desde cero,
sin conocimiento alguno de codificación, programación, diseño o diagramación.
La mayoría de los desarrolladores web, huyen de
Wordpress a la hora de hacer proyectos complejos o que requieran "algo más" que un CMS, utilizando Frameworks como
Codeigniter,
ZendPHP,
Laravel o
PhalconPHP, ya sea por su curva de aprendizaje o por la velocidad de desarrollo o su buen desempeño. Obviando o pasando por alto el hecho de que Wordpress es un excelente Marco de Trabajo para desarrollar aplicaciones web robustas y seguras.
Ventajas de Usar Wordpress
Son muchas las ventajas de utilizar Wordpress como Marco de Trabajo pero las reduciremos a las más destacadas y de donde las demás toman vida:
Gestión de Usuarios
Potente y lista para usar, la gestión de usuarios en Wordpress es bastante completa, controlando registro, creación, login, bloqueo, imagen de perfil (
Gravatar) y metadatos adicionales por usuario, lo que nos ahorra un montón de trabajo y horas de codificación.
Documentación
La
Documentación Oficial de Wordpress, es de las más completas y fáciles de utilizar en la web, para todo lo que vayas a desarrollar existen funciones integradas que, te pueden ayudar a trabajar y mejorar enormemente tu código.
Usuarios
Todo lo que te suceda mientras desarrollas con Wordpress, ya le ha pasado a alguien en el mundo y posiblemente ya planteó la pregunta y esta tiene una respuesta. Casi el 20% de las páginas web en el mundo utilizan Wordpress, por lo tanto existen miles (Si no millones), de foros y usuarios dispuestos a resolver cualquier estancamiento que tengas con tu código.
Plugins
El
Sitio Oficial de Plugins de Wordpress muestra, para la fecha de publicación de esta entrada, 33.220 plugins gratuitos, que puedes utilizar para mejorar tu sitio o aplicación web. Comercio electrónico, estadísticas, integración, mejoras de funciones nativas, redes sociales, foros y muchos más.
Temas
Posiblemente, para una aplicación web, muchos pensaremos que no es necesario utilizar estos temas, pero en el
Sitio Oficial de Temas de Wordpress, hasta la fecha, hay 2.679 temas completamente gratis disponibles para el desarrollo de sitios y aplicaciones web.
Tipos de Entradas
El punto fuerte a la hora de crear aplicaciones web con Wordpress; los tipos de entrada por defecto de Wordpress son Post, Page, Attachment, Revision y
navmenuitem y podemos crear Tipos de Entradas Personalizadas o Custom Post Types, y junto con los metadatos adicionales y los campos personalizados podemos crear aplicaciones web complejas y robustas.
En un análisis simple, cualquier desarrollador podría pensar que esas son las únicas características de
Wordpress, y que no se debe ver más allá y mucho menos verlo como Marco de Trabajo ya que, es solo un CMS o un gestor de Blogs, pero, es a partir de estas ventajas donde se forman las bases del desarrollo de aplicaciones web. Muchas veces nos encerramos a reinventar la rueda cuando ya existen Ferraris andando en el mundo.
Creemos una Aplicación
Vamos a crear una aplicación sencilla utilizando un Custom Post Type, diferente a los que trae Wordpress por defecto y agregaremos algunos Custom Fields a dicha entrada.
Problema
Debemos crear una aplicación web que contenga gestión y control de usuarios, control y gestión de comentarios de lectores de los libros, blog y muestre un Catálogo de Libros en la que, cada libro debe tener los siguientes datos:
- Título
- Autor
- Año
- Género
- Sinopsis
- Cantidad de Página
- Foto de Portada
Es una aplicación simple, en la que ya Wordpress tiene al menos el 50% del trabajo listo. ¿Por qué el 50%? Porque la gestión de usuario, comentarios y blog, esta lista para usar en Wordpress, solo nos falta crear la interfaz de usuario y la gestión de los libros. Para ello comenzaremos descargando el plugin
Custom Post Types UI, que nos permitirá agregar un Custom Post Type junto con su
Taxonomía Personalizada en una interfaz bastante amigable y muy simple de utilizar.
Lo descargaremos e instalaremos como todos los plugins de Wordpress y una vez finalizada la instalación, procederemos a crear nuestro Custom Post Type, llenando los campos de la siguiente forma:
- Post Type Name: book (Nombre oficial con el que wordpress le reconocerá).
- Label: Libros (Etiqueta oficial en plural para mostrar a los usuarios).
- Singular Label: Libro (Etiqueta oficial en singular para mostrar a los usuarios).
- Description: Libros de nuestra biblioteca (descripción).
- Advanced Options:
- Public: True (Si los libros podran ser vistos públicamente)
- Show UI: True (Para poder hacer modificaciones con la interfaz oficial de Wordpress).
- Has Archive: True (Para poder mostrar los listados en nuestro tema en el frontend)
- Exclude from search: False (Mostrará los libros en los resultados de búsqueda en el frontend).
- Capability type: Post (Los usuarios capaces de publicar posts podrán publicar nuevos libros. Más info sobre capacidades).
- Hierarchical: False (Los libros no serán hijos de otros libros, por ahora).
- Rewrite: true (Por defecto para que los Enlaces permanentes puedan utilizarlo correctamente)
- Custom Rewrite Slug: vacío (Por defecto se utiliza el post type name, en nuestro caso book).
- With Front: True (Para agregar el slug a la URL en el frontend)
- Query Var: True (Cuando creas aplicaciones y codificas puedes obtener la query var a través de PHP).
- Show in Menu. True (Para que te muestre el menu de este custom post type)
- Menu Icon: URL absoluta al icono del custom post type
- Supports (Añadir soporte para el custom post type). Marca las siguientes:
- Title: Título del libro
- Excerpt: Sinopsis
- Comments: Comentarios
- Author: No el autor del libro, sino el usuario creador de la entrada en la aplicación
- Featured Image: Imagen destacada para colocar la portada.
- Built-In Taxonomies: Por ahora no tenemos una taxonomía creada, así que dejaremos en blanco.
Pulsamos
Create Custom Post Type y al recargar la web notaremos que a la izquierda tienes el menú de tu nuevo post type con la etiqueta
Libros y puedes hacer hover y ver que te muestra un submenu con la palabra Libros, que sirve para listar todos los libros que tienes en la aplicación y debajo de ella
Nuevo Libro o
New Libro, porque no trabajamos en las etiquetas para ello. Si pulsamos ese enlace, veremos una pantalla muy parecida a la de creación de
Entradas o
Páginas de Wordpress pero aún nos falta información, debemos crear nuestros
campos personalizados.
Para ello descargamos e instalamos otro plugin llamado
Advanced Custom Fields. Una vez hecho esto, veremos el menú
Custom Fields en el panel de administración y podremos crear nuestros campos allí. Estos, se crean en grupos de campos y para nuestra aplicación crearemos un grupo de campos llamado
Datos del Libro y añadiremos los campos que nos hacen falta:
- Autor: Tipo texto
- Año: Tipo número, valor mínimo 1900.
- Cantidad de Páginas: Tipo número.
En el grupo
Location coloca en el campo
Show this field group if:
Post Type is equal to book. En el grupo
Opciones coloca:
- Número de orden: 1
- Posición: Normal (after content)
- Estilo: Standard (WP Metabox)
- Hide on Screen: Marca Hide / Show all para seleccionar todas las opciones, pero desmarca las opciones Excerpt y Featured Image.
Y pulsa el boton azul
Publicar. Notamos que no colocamos Título, Sinopsis o Foto de Portada; es porque estos campos ya los soporta nuestro custom post type con los campos title, excerpt y featured image. Tampoco colocamos el campo
Género, porque este lo crearemos como una taxonomía en el plugin anterior, Custom Post Types UI y la añadiremos al tipo de entrada book. Pruébalo, crea la taxonomía personalizada
Géneros Literarios para
book y añade 4 géneros distintos de tu preferencia en el nuevo item que se agrega al apartado Libros con el mismo nombre.
Ver el resultado
Si todo esta correcto, al ir al enlace Nuevo Libro en el menú, podrás ver debajo del campo
excerpt el grupo
Datos de Libro creado con el plugin Advanced Custom Fields y a la derecha verás tu taxonomía
Géneros Literarios, junto con tus 4 taxonomías y si tienes un tema con soporte de Thumbnails o Featured Images, como el
Twenty Forteen verás el campo
Imagen Destacada. Ahora comienza a agregar libros y navega en el frontend de tu aplicación web todos los libros que vayas colocando, a través de las siguientes URLs (sustituye tusitio.com con el nombre de tu sitio):
- tusitio.com/book (Mostrará el listado de todos tus libros)
- tusitio.com/book/el-titulo-de-tu-libro (Muestra el libro con ese slug)
- tusitio.com/book?page=2 (Navega la segunda página de libros)
Este es solo un pequeño abreboca del poder de Wordpress como marco de trabajo, en menos de 1 hora y con la ayuda de plugins o librerías de otros creamos una aplicación medianamente compleja con el poder de administrar una base de datos de libros y las opiniones y comentarios de los usuarios de nuestra aplicación web.
Cabe destacar que estos dos plugins
Custom Post Types UI y
Advanced Custom Fields, tienen opciones de exportación que nos permiten ver el código PHP que construye nuestros campos para colocarlo en el archivo
functions.php de nuestro tema de
Wordpress y librar de cargas las solicitudes de bases de datos. En especial,
Advanced Custom Fields tiene un
Theme Mode para integración con tus temas y junto con
Options Tree puedes crear temas y aplicaciones completamente parametrizables y personalizables y que te pueden ayudar a mejorar la velocidad de producción de tus aplicaciones.