Wordpress y su utilización como framework de desarrollo web

Posted on - Last Modified on

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 CodeigniterZendPHPLaravel 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 FieldsUna 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 ifPost 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. Contáctame en Nubelu

Next Article

La Creatividad como redactor freelance