HEADER_lecciones_de_software

Lo que debes tener en cuenta para desarrollar en WordPress

por Andrés Isaza, el 11 de octubre de 2018

buenas prácticas de desarrollo en wordpress

Según la Revista Forbes, la herramienta para producción de sitios web Wordpress es la plataforma líder en internet para blogs. Su popularidad se debe en gran medida a la simpleza de su instalación y a la flexibilidad para implementar aplicaciones muy diversas a partir de la variedad de componentes visuales (temas) y funcionales (plugins) disponibles.

Cifras del sitio oficial de Wordpress revelan que el 31 por ciento de internet utiliza esta plataforma. Tanto pequeñas como grandes compañías crean un sitio web  o editan el antiguo por este medio.

¿Que és WordPress?

WordPress es un Sistema de Gestión de contenidos (CMS) que permite organizar información para crear sitios web, blogs y hasta tiendas online. Es un servicio Open Source, es decir, abierto a modificaciones.

Es maduro y estable, publicado inicialmente en 2003 como una herramienta para la gestión de blogs, pero su popularidad fue creciendo hasta convertirse en uno de los CMS preferidos en el mundo, logrado por el amplio portafolio de temas y plugins que facilitan su desarrollo.

Según cómo configuremos WordPress puede ser clasificado:

  • WordPress como Blog: esta es la instalación básica que nos permite crear páginas estáticas,  generar contenido y mostrarlo en listados.
  • WordPress como CMS: se diferencia al anterior porque se usa una estructura de datos personalizada para la creación de entradas, es decir, mientras la configuración básica cuenta con dos campos (título y cuerpo), en esta se contaría con campos más descriptivos, por ejemplo, para un producto se puede tener (etiqueta, talla, etc).
  • WordPress como framework: es un uso que se le da a Wordpress, cuando el desarrollo se realiza solo utilizando la estructura del sistema,  normalmente se usa para desarrollar temas. Lee: El mundo de las apps: Web vs. Móviles

 Conocimientos previos

Para trabajar con WordPress no se requiere de mucho conocimiento en programación, ya que con el uso de plantillas y plugins se pueden cubrir muchas necesidades de los clientes. Si se desea hacer un desarrollo más personalizado, se requiere un conocimiento sobre PHP y páginas orientadas a plantillas. Mucha de la información requerida para trabajar con WordPress se puede investigar y profundizar en la documentación de WordPress.

Algunas características:

  • La Instalación rápida: ofrece diferentes alternativas adecuadas al grado de conocimiento del usuario:
    • Simple: la organización Auttomatic, dueña del producto Wordpress, permite crear directamente blogs personalizados en el dominio wordpress.com sin costo.  Además, ofrece herramientas desktop y apps adicionales para control de spam, gestión centralizada de varios sitios y funcionalidades para facilitar la gestión del contenido.
    • Intermedio: se ofrece como una opción en muchos servicios de hosting. Hay opciones sin costo, donde el usuario se encarga de la instalación y administración, así como de opciones de suscripción, donde la gestión y optimización del sitio se delega al proveedor del servicio.
    • Avanzado: es posible instalar Wordpress en un servidor propio (en una red local o intranet o en la web) descargando instaladores según el sistema operativo a usar, Linux o Windows, que debe estar debidamente configurado con PHP y MySQL (o MariaDB).
  • La amplitud de opciones tanto en la parte visual (temas) como de servicios adicionales (plugins), muchos de ellos gratuitos, y otros a precios razonables permiten aplicarlo en muchos casos diferentes.
  • Es de código abierto, y esta una de las razones por las cuales estamos publicando esta entrada, para dar una breve introducción a WordPress, específicamente lo que debemos tener en cuenta para desarrollar sobre esta plataforma.

¿Qué necesito para instalar WordPress?

  • Para un servidor propio (con privilegios de administración) bien sea local o en la web:
    • Lo primero es tener instalado un entorno en el cual correr la aplicación según el sistema operativo: XAMPP. Este nos brinda un servidor web ya configurado para funcionar con PHP y MYSQL en Windows o LAMP en GNU/Linux. También es posible usar el servidor web NGINX configurado con PHP.
    • Crear una base de datos con un usuario con todos los privilegios y su respectiva contraseña.
    • Descargamos el paquete desde wordpress.org y lo guardamos en nuestro entorno local, tomando como ejemplo XAMPP la ruta sería  >xampp>htdocs.
    • Abrimos en el navegador la ruta de nuestra aplicación y seguimos los pasos del instalador.
    • Con esto tendremos WordPress listo para trabajar.
  • Existen muchos servicios de albergue de dominios (hosting), que incluyen como opción la instalación de Wordpress, con una acción interactiva muy simple.
  • Directamente alojado en wordpress.com, basta con crear una cuenta allí y es posible disponer de una plataforma para uso personal.

Wordpress es un producto en desarrollo continuo, por lo que es sumamente importante mantenerlo al día en lo referente a versiones para estabilidad y seguridad. Además, por su popularidad y alta difusión le hace atractivo a los ataques cibernéticos.

Es siempre recomendable incluir plugins de seguridad (por ejemplo: Anti-Malware Security and Brute-Force Firewall o Wordfence Security – Firewall & Malware Scan  ) y de respaldo de información fuera del sitio.

Estructura de directorios y archivos de control 

Las siguiente rutas son de archivos o directorios en los cuales posiblemente tengamos que realizar modificaciones, las rutas estarán desde la raíz de la instalación de los archivos.

  • ./wp-config.php: este es el archivo de configuración principal, en el que indicamos cuáles serán los datos de conexión a nuestro servidor y configuraciones de php, tenerlo muy en cuenta al momento de realizar un despliegue o un cambio de ambiente.
  • ./wp-content: esta carpeta contiene la mayor parte de los cambios que se realizan sobre WordPress. A continuación, se mencionan las que más modificaremos.
    • themes: carpeta donde se encuentran todas las configuraciones de plantillas, estilos y funcionalidades asociadas a los temas. En este directorio aparecen carpetas individuales por cada uno de los temas que se vayan a considerar en el sitio. Cada una de ellas incluye una estructura variable con archivos específicos con imágenes, estilos javascript, y PHP.
    • uploads: contiene todos los archivos que se suben a través del administrador, importante tener en cuenta al momento de asignarle permisos.
    • plugins: esta carpeta es donde se agregaran los plugins tanto de desarrollo propio como externos, es muy importante mantener esta estructura para el correcto funcionamiento del sitio.

4. Realizar cambios en un tema

4.1. Crear tema hijo

Para realizar cambios en un tema, lo más recomendable es generar un tema hijo, esto significa que tendremos un tema que 'hereda' todas las funciones y plantillas del tema padre, esto es necesario por que si en algún momento se desea actualizar el tema padre no perderíamos los cambios que hemos realizado.

Para esto, creamos una nueva carpeta en la ruta de los temas, tener en cuenta que el nombre no puede tener espacios o caracteres especiales.

Luego crearemos un archivo llamado style.css con el siguiente contenido

/*
Theme Name:   nombre_del_tema_hijo
Theme URI:    http://example.com/
Description:  Child Theme

Author:       nombre
Author URI:   http://example.com
Template:     nombre_del_tema_padre

Version:      1.0.0
Tags:         tag1, tag2
Text Domain:  nombre_del_tema_hijo
*/
@import url("../nombre_del_tema_padre/style.css");

/* =Fin de la configuración
-------------------------------------------------------------- */

Para tener en cuenta, al momento de modificar el código anterior:

  • Los uri solo se llenaran de ser necesario.
  • Muy importante poner los nombre correctos, estos son iguales al nombre de la carpeta que los contiene.
  • Se puede copiar estas líneas con base al tema padre, la única que no se encuentra es la "@import url". Esta debe señalar la ruta del archivo style.css del tema padre.

4.2. Cambiar plantillas

Para realizar modificaciones de la plantilla basta con generar un archivo con el mismo nombre en la carpeta del tema hijo, esto le dirá a WordPress que se use esta plantilla y no la del tema padre.

También se pueden crear plantillas personalizadas dentro del tema hijo que no estén en el tema padre, basta con seguir la nomenclatura al momento de nombrar los archivos.

4.3. Agregar funciones

Los temas poseen un archivo llamado functions.php, en el cual se agregan todas las funcionalidades personalizadas que tendrá.

Al agregar este archivo a nuestro tema hijo, nos permitirá agregar nuestras propias funciones, se debe tener en cuenta que WordPress prioriza el archivo functions.php del tema hijo sobre el del tema padre, pero no lo sobreescribe sino que solo tendrá en cuenta las modificaciones (funciones añadidas) del tema hijo. Esto quiere decir que no debemos copiar todas las funciones del tema padre para que nuestro tema funciones.

5. Rest API

WordPress viene configurado para ofrecernos un formas de alimentar otras aplicaciones con el contenido de nuestra página.

Esta API provee los endpoints para los tipos de datos de WordPress, permitiendo interactuar con sitios remotos a través del envío de JSON, estos estarán disponible agregando a la url de nuestra página /wp-json/wp/v2/

También podemos agregar el tipo de dato que queremos traer. Ejemplo: "/wp-json/wp/v2/posts"; Para mayor información ver http://v2.wp-api.org/

Cuando necesitemos soluciones informáticas para gestión de contenidos, sitios web o un blog, podemos contar con Wordpress como una alternativa muy flexible y confiable, y con un activo adicional. Una gran comunidad de desarrolladores en todo el mundo, que están dispuestos a compartir sus consejos y experiencia o resolver dudas.

Conoce las claves para tener una transformación digital ágil

Temas:Tecnologia e Innovacion

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal