---
title: "Recursos Plugin v2.0: unificando dos plugins en uno"
description: "Valencia, 29/08/2026, G.B. Uno de esos proyectos que llevaba tiempo rondándome era simplificar el mantenimiento de dos plugins de WordPress que, con el tiempo, habían acabado haciendo cosas muy pareci..."
url: https://indaga.net/recursos-plugin-v2-0-unificando-dos-plugins-en-uno/
date: 2026-08-29
modified: 2026-08-29
author: "Directorio Indaga"
image: https://indaga.net/wp-content/uploads/2026/08/plugin-recursos.jpg
categories: ["Recursos y Utilidades", "WordPress"]
tags: ["blog", "plugin recursos", "plugins wordpress", "wordpress"]
type: post
lang: es
---

# Recursos Plugin v2.0: unificando dos plugins en uno

Valencia, 29/08/2026, G.B.

Uno de esos proyectos que llevaba tiempo rondándome era simplificar el mantenimiento de dos plugins de WordPress que, con el tiempo, habían acabado haciendo cosas muy parecidas. La solución: fusionarlos en uno solo, **Recursos Plugin v2.0**, y de paso aprovechar para resolver algunos problemas técnicos que arrastraba desde hacía tiempo.

## Por qué unificar

Mantener dos plugins con funcionalidades solapadas significa duplicar esfuerzo cada vez que hay que tocar algo: dos bases de código que revisar, dos sitios donde aplicar el mismo parche, dos superficies de error. Unificarlos en un único plugin reduce esa carga de mantenimiento y deja un código más coherente y fácil de razonar.

Como en el resto de mis plugins, la premisa se mantiene: **cero dependencias externas**. Todo el código es PHP nativo, sin librerías de terceros que puedan quedar desactualizadas o introducir vulnerabilidades.

## El reto técnico: búsqueda vía GET

La búsqueda de recursos funciona con parámetros en la URL (GET) en lugar de POST. Esto tiene una ventaja clara para el usuario: los resultados de búsqueda son **enlazables y compartibles**. Puedes copiar la URL después de buscar y enviarla directamente a alguien, o guardarla en marcadores, y al abrirla se reproduce la misma búsqueda.

Para los formularios que sí requieren envío de datos, apliqué el patrón **POST/Redirect/GET**: el formulario se envía por POST, el servidor procesa la petición y responde con una redirección a una URL GET. Esto evita el clásico problema de que, al recargar la página después de enviar un formulario, el navegador pregunte si quieres «reenviar los datos» —o peor, los reenvíe sin avisar duplicando la acción.

## El arreglo de compatibilidad con MySQL

Este plugin hereda el mismo ajuste que ya había aplicado en mi plugin de Autores: cambiar la longitud de las claves de índice a `VARCHAR(191)`.

¿Por qué 191 y no 255? Según lo que he consultado 191 es un límite práctico impuesto por MySQL 5.7 cuando se usa el juego de caracteres `utf8mb4` (necesario para soportar emojis y caracteres Unicode completos). Con `utf8mb4`, cada carácter puede ocupar hasta 4 bytes, y el límite de InnoDB para un índice es de 767 bytes en total. Eso deja un máximo de 191 caracteres para columnas indexadas antes de que MySQL lance un error.

Es uno de esos detalles que no se nota hasta que un día, sin previo aviso, la creación de una tabla falla con un mensaje críptico. Ya solucionado, y de forma consistente en todos mis plugins.

## Instrucciones rápidas (desde el panel de control del plugin)

1. Rellena el formulario de abajo y pulsa «Añadir Recurso» para crear uno nuevo.
2. Pulsa «Editar» en la tabla para modificar un recurso existente.
3. Pulsa «Eliminar» para borrarlo (se pedirá confirmación).
4. Para mostrar los recursos en una página o entrada, usa el shortcode **mostrar_recursos** (entre corchetes [ ]) (con buscador y paginación).
5. Para mostrar solo los 4 recursos más recientes, usa el shortcode **ultimos_recursos** (entre corchetes [ ]) ## Ejemplo con el shortcode para mostrar los últimos recursos añadidos: `**[Mega](https://mega.nz)**Servicio con sede en Nueva Zelanda que destaca por su cifrado de extremo a extremo por defecto (zero-knowledge): ni siquiera Mega puede acceder al contenido de tus archivos. Ofrece 20 GB gratuitos de entrada. **[Dropbox](https://www.dropbox.com)**Uno de los pioneros del sector, conocido por su sincronización robusta y fiable entre dispositivos. Ofrece funciones interesantes de recuperación de versiones anteriores de archivos y buena integración con apps de terceros. **[OneDrive](https://onedrive.live.com)**Servicio de Microsoft integrado de forma nativa en Windows y en la suite Office 365. Cómodo si ya trabajas en el ecosistema Microsoft, con edición colaborativa directa en Word, Excel y PowerPoint online. **[pCloud](https://www.pcloud.com)**Almacenamiento en la nube con sede en Suiza, con opción de pago único de por vida (en lugar de suscripción mensual) y cifrado adicional opcional (pCloud Crypto). Buena alternativa para quien busca privacidad reforzada. `

## Resultado

Después de un tiempo probándolo en producción, el plugin unificado funciona correctamente. Un solo punto de mantenimiento, búsquedas enlazables, sin reenvíos de formulario molestos, y compatibilidad garantizada con instalaciones MySQL 5.7. Os dejo el enlace de descarga del plugin, por si álguien quiere probarlo:

[Descargar plugin (en formato .zip) de mi cuenta de pCloud](https://e.pcloud.link/publink/show?code=XZi1777ZVI4AkT4g5TkQYjQT6aBNh7dbaGpX)
