Wordpress

23 entradas

El CMS más usado en la mayor parte de las webs disponibles en Internet es Wordpress. Se trata de un sistema gestor de contenidos construído sobre PHP y muy orientado a la creación de blog o también llamados cuadernos de bitácora. No obstante, es un CMS para el que hay una gran cantidad de plugins y temas.

Con Wordpress se pueden construir desde sencillos blogs o páginas corporativas, a tiendas online medianamente complejas o comunidades de usuarios orientadas a compartir contenidos redactados.

Es de muy fácil uso, y su adaptación para la mayoría de los casos se puede hacer mediante la instalación y configuración de plugins.

Database

Actualizando la BD con un plugin de WordPress

Hoy traigo un codekata o howto para el desarrollo de plugins para WordPress, con una funcionalidad que me ha entretenido bastante el conseguir que funcione. Se trata de una forma de actualizar las tablas de la base de datos, a medida que vamos actualizando un plugin, y vamos modificando también la estructura o contenidos de la base de datos. Es decir, es un pequeño howto o tutorial para mantener versiones de la estructura y contenido de la base de datos, para un plugin de WordPress. Vayamos al grano..

Frontend Backend

Cómo hacer peticiones AJAX con JavaScript, desde cualquier frontend, al backend de WordPress

Una persona me ha hecho una pregunta sobre WordPress. Curioseando para responder al comentario, inspeccionando las llamadas con el Monitor de Red, me he dado cuenta de una funcionalidad muy interesante que nos brinda WordPress. Resulta que tenemos disponible otra forma de desacoplar el frontend de una instalación WordPress, pero seguir disfrutando del backend de WordPress. Podemos programar con esto en mente, para trabajar la información usando llamadas AJAX que ataquen al CMS. Rizando el rizo un poco, estas llamadas AJAX, incluso se podrían hacer desde otro tipo de programas que no fueran webs.. Es decir, tenemos un ‘endpoint’ con la ruta wp-admin/admin-ajax.php al que podemos atacar. Y a partir de este punto de entrada podemos crear plugins o themes, con lo que podemos programarle lo que queramos en la parte de backend. Por otro lado, en la parte de frontend, al atacar este endpoint podríamos así desacoplar más todo el frontend, y usar cualquier tecnología de frontend como podría ser Angular, React, Vue, etc.. o incluso otro tipo de programas de escritorio o aplicaciones nativas de móviles.

Heart pulse

Dale vida a tu WordPress, el programador de tareas

WordPress también dispone de un mecanismo para programar acciones en el tiempo, un programador de tareas, al que también podemos llamar el Cron de WordPress. En este post dejo unos howtos o codekatas muy sencillos, para lanzar estas acciones en el tiempo. He probado bien estas cosas en jnjsite.com, y les comparto aquí algunos resultados. Aparte de las formas de uso, dejo también algunos trucos para mejorar el rendimiento. También dejaré algunas referencias a la documentación oficial que está muy bien, para el que quiera seguir avanzando con el tema.. 😎

Android Chrome debug remote devices port forwarding

Cómo acceder a localhost dentro del emulador de Android

Dejo aquí un howto, un apunte resumen, para configurar el emulador de Android y poder programar accediendo a localhost, desde el dispositivo emulado. Se hace haciendo lo que se llama port forwarding en el dispositivo emulado desde ciertos puertos al host de nuestro sistema operativo. Esto sirve para probar Service Workers (PWAs) localmente, webs localmente, apps que accedan a servicios que estemos programando localmente, etc..

WP command line

WordPress: cómo hacer scripts de línea de comandos

Pequeño howto para lanzar scripts PHP desde línea de comandos y poder trabajar sobre WordPress. Es decir, esta es una técnica con la que, por ejemplo, podríamos hacer un recorrido de todos los posts de una instalación de WordPress, para hacer un trabajo entonces sobre cada uno de ellos. Esta forma de lanzar scripts es útil mientras que estamos contruyendo un plugin o theme. Así se pueden probar algunas funciones o pocas líneas de código, viendo sin funcionan, para luego cortar y pegar en donde tengan que ir.

WAF Web Application Firewall

Cómo empezar un cortafuegos en PHP

Este post es un sencillo howto para ejecutar un código, antes de cualquier ejecución en PHP en una aplicación web. Sirve para montar lo que se llama un WAF en la capa de aplicación, cuyas siglas significan Web Application Firewall. Así después, le podemos añadir toda la lógica que necesitemos. Con ésta técnica, en cada petición que se reciba en PHP, se ejecutará lo que pongas en el WAF antes de la ejecución de nuestra aplicación web.. 🧐

Objetos relacionados base de datos

WordPress: cómo crear una tabla para un plugin

Este es un pequeño codekata o howto para crear un plugin que cree una tabla en la base de datos. Como reza la documentación oficial, no se recomienda crear nuevas tablas para almacenar los datos, pero según que caso, puede ser la mejor opción, tendremos entonces que ocuparnos nosotros de su mantenimiento. El siguiente código simplemente es un esqueleto de plugin con el que se puede crear una tabla en el momento de la activación de dicho plugin. También cuando se desactiva el plugin se borrará dicha tabla.

Logo de Wordpress

WordPress: haciendo una plantilla de página

Este post es un codekata o howto sobre WordPress para hacer plantillas de páginas individuales. Es decir, tenemos lo que se llaman temas completos para el frontend de WordPress. En los temas de WordPress todo el diseño web viene definido, y a veces nos traen una serie de plantillas que se pueden asignar individualmente a cada página, a cada post, a cada contenido.. Estas plantillas de página, podemos además maquetarlas y programarlas para que tengan cierto aspecto visual. Podemos crear nuevas y definir nuevas estructuras. Por ejemplo, en el tema de Customizr que estoy usando actualmente en este blog, tenemos una plantilla de página que nos proponen, y podemos crear nuevas replicándola y editándola fácilmente.

Logo de Wordpress

WordPress: añadir taxonomías a los tipos de posts

Esto es otro codekata para WordPress, para añadir lo que se llaman taxonomías a los posts. Es decir, las taxonomías son al efecto como categorías, con las que podemos clasificar los posts. Me explico un poco más, dentro de WordPress, muchos de los contenidos son posts, están dentro de la tabla de la BD wp_posts. Se pueden dividir en tipos tal y como se puede ver en el post anterior, sobre cómo registrar tipos de posts. Y además, dentro de cada conjunto de tipos de post, éstos se pueden marcar con las taxonomías/clasificaciones.

Logo de Wordpress

WordPress: añadir tipos de posts

Apunte, resumen, tutorial, codekata para generar tipos de contenidos en el backend de un WordPress. En el origen de los tiempos todo eran Posts del mismo tipo.. xD ¡y se crearon los tipos de post! Con lo que ya podemos tener de base también las páginas, y podemos generar nuestros propios tipos de posts. Esto sirve para crear páginas de gestión de por ejemplo productos, servicios, locales, personal, etc..

Mobile

Javascript: las Progressive Web Apps y el futuro de las aplicaciones para móviles

¿Qué te parece si te dicen que se puede desarrollar una web, que se puede instalar como si fuera una aplicación nativa, en cualquier sistema operativo como Android, iOS, Mac o Windows? Ya sea en móviles o PCs de escritorio.. ¿Y si no hace falta que se publique en las App Store de cada sistema operativo? ¿Y si se actualizara también automáticamente? Pues esta tecnología ya está entre nosotros desde hace unos pocos años, y la mayoría de los navegadores más usados ya son compatibles. Estas aplicaciones también pueden almacenar información en el navegador, acceder a la cámara, micrófono, GPS, se pueden usar sin conexión, son seguras porque obligan al uso de SSL, pueden acceder a las notificaciones push para mostrar notificaciones de escritorio y de móviles, etc..

Logo de Wordpress

WordPress no publica los posts a la hora programada

Este es un howto con la solución, a un problema que me ha costado un poco resolver en un WordPress que administro. Se publicaban los posts en otra hora distinta a la programada. Además, si le daba a publicar inmediatamente, se quedaba como programado para publicar, y se publicaba dos horas más tarde. No he podido encontrar casi información por Internet, al final encontré el porqué pasaba esto, y aquí que estoy compartiéndolo por si alguien lo necesita también 😉