Un asistente útil, no un problema nuevo
Un chatbot con IA para tu WordPress: cómo hacerlo bien y los 10 errores más comunes

Un chatbot con IA bien hecho puede responder al instante las preguntas que más se repiten: envíos, horarios, cambios, cómo usar un producto. Mal hecho, inventa respuestas, gasta dinero sin…

Un editor con superpoderes
unfiltered_html: el permiso que deja a tus editores insertar cualquier código

WordPress tiene un permiso con nombre técnico, unfiltered_html, que decide algo importante: si un usuario puede publicar cualquier código HTML y JavaScript, o si WordPress lo limpia antes de guardarlo.…

Tu clave de IA, tu tarjeta de crédito
Claves de API de IA en WordPress: dónde guardarlas para que no te cuesten caro

Cada vez más plugins (y el propio WordPress) se conectan con servicios de inteligencia artificial: para escribir textos, generar el texto alternativo de imágenes, responder en un chat o traducir.…

La IA escribe, tú revisas y decides
Crear un plugin de WordPress con ayuda de la IA: instrucciones, revisión y pruebas

Con un asistente de programación (los hay integrados en editores como VS Code o en la terminal), describir un plugin y tenerlo funcionando toma minutos. El problema es que funcionar…

El XSS que se esconde en el código viejo: escapa bien en PHP y en JavaScript

Hace poco se publicó una vulnerabilidad en un conocido plugin de seguridad para WordPress. Sí, de seguridad. Era un XSS almacenado: un texto malicioso que queda guardado en tu sitio…

Del código al panel
Agrega una página de ajustes a tu plugin con la Settings API

En la primera parte de esta serie creamos Caja Foro, un plugin que agrega una invitación al foro al final de cada entrada. Funciona, pero tiene un problema: para cambiar…

Tu etiqueta entre corchetes
Crea tu propio shortcode en WordPress, con atributos y sin agujeros de seguridad

Un shortcode es una etiqueta entre corchetes, como [caja_foro], que WordPress reemplaza por contenido al mostrar la página. Son perfectos para insertar algo hecho por tu plugin justo donde quieras:…

Datos extra, cero agujeros
Campos personalizados con una meta box: guarda datos extra de forma segura (nonce, permisos y limpieza)

Ya tenemos un tipo de contenido Recursos y una taxonomía Nivel. Ahora queremos guardar datos concretos de cada recurso: el enlace de descarga y la versión. No tiene sentido escribirlos…