WP Manifestindependent plugin directory

J2W — Migración Joomla a WordPress

Migración Joomla a WordPress con filtros, wrappers y estilos opcionales

by J2W Team · github.com/rubengalansanz/j2w

1stars
2release downloads
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/rubengalansanz/j2w/releases/download/v1.2.3/j2w-install.zip

Readme

J2W — Migración Joomla a WordPress

Migra artículos desde Joomla (3.10 / 4.x / 5.x) a WordPress con filtrado por contenido, wrappers por contexto, pestañas y acordeones, estilos opcionales y lotes idempotentes.

Características

  • Conexión por PDO MySQL (solo lectura) con credenciales cifradas, SSL opcional y test con detección de versión de Joomla. Host por defecto 127.0.0.1 (TCP); si usas localhost y falla el socket, reintenta solo por TCP.
  • Filtros por texto del contenido (exacta, palabra clave, regex, sensible o no, AND/OR con grupos anidados), con previsualización y snippets resaltados.
  • Wrappers por contexto (tablas, código, citas, embeds, imágenes, listas), configurables, extensibles vía apply_filters y personalizables desde el theme (tu-theme/j2w/wrapper-*.php).
  • Pestañas y acordeones Joomla ({tab=}…{/tabs}, {tabs}, {slider=}…{/sliders}, con anidado): pestañas con JS accesible o acordeón vertical estilo Joomla (conmutable en Wrappers), degradado a encabezados en salida clásica.
  • Estilos inline/clases opcionales (preservar, sanitizar+reasignar, ignorar) con whitelist de CSS y purga de vectores JS.
  • Medios: imágenes del contenido + destacada desde images JSON, con dedup y reescritura de enlaces.
  • Lotes (Action Scheduler o WP-Cron), dry-run, idempotencia (_j2w_joomla_id + hash), reanudación/cancelación, log por artículo, export CSV y API REST j2w/v1.
  • WP-CLI: wp j2w run <job-id> y wp j2w status para cron real del sistema.

Flujo recomendado: Conexión → Probar → Filtros → Previsualizar → Wrappers → Estilos → Cola → Crear job → Simular → Migrar → Log.

Requisitos

  • PHP >= 8.1 con extensiones dom y pdo_mysql
  • WordPress >= 6.0

Instalación

  1. Descarga el ZIP de la página de releases o genéralo (ver Desarrollo).
  2. En wp-admin: Plugins → Añadir nuevo → Subir plugin → elige el ZIP → Instalar → Activar. O descomprime como wp-content/plugins/j2w/.
  3. Ve a J2W → Conexión y configura un acceso MySQL de solo lectura a Joomla, por ejemplo:
    GRANT SELECT ON joomla.* TO 'j2w_reader'@'%' IDENTIFIED BY '...';
  4. Pulsa Probar conexión, construye el filtro y previsualiza antes de migrar.

Cron puntual

WP-Cron depende de visitas al sitio; en sitios sin tráfico los lotes se retrasan. Para puntualidad usa el cron del sistema:

* * * * * wp j2w run <job-id> --path=/var/www/html

La pestaña Cola muestra la zona horaria de WordPress y avisa si DISABLE_WP_CRON está activo.

Preguntas frecuentes

  • ¿Qué versiones de Joomla soporta? 3.10, 4.x y 5.x (detección por manifest, tablas workflow y #__schemas).
  • ¿Crea duplicados si re-ejecuto? No: cada post guarda _j2w_joomla_id + hash; el re-run omite iguales y (según la política del job) omite o actualiza los cambiados.
  • ¿Migra usuarios y contraseñas? No. El autor es quien lanza el job; el created_by original queda en _j2w_orig_author.
  • ¿Migra el CSS de la plantilla? No. Solo inline y clases del contenido.
  • **¿Qué pasa con {loadmodule} y los `

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v1.2.3 Sep 5, 2026 j2w-install.zip 2