acambronero
acambronero
@acambronero@blogpocket.es

Este es el blog federado de Antonio Cambronero, fundador, autor y CEO de Blogpocket. Informático, blogger y profesor, con más de 20 años de experiencia en departamentos de soporte técnico informático, análisis de sistemas, productividad, optimización de procesos, atención al cliente y formación, en empresas multinacionales.

104 publicaciones
50 seguidores

Cómo crear un tema hijo de WordPress para actualizar el tema padre sin perder cambios

Si pasa mucho tiempo sin actualizar un tema de WordPress, corres el riesgo de que se hayan hecho cambios importantes y te hayas quedado obsoleto (respecto al diseño y funcionalidades del tema). Otro problema que puedes tener es que hayas hecho cambios en las plantillas originales del tema, configuraciones a nivel del functions.php, CSS Adicional, theme.json, etc.

Lo primero que me aconseja Claude es que haga un backup, claro.

Lo siguiente es crear un tema hijo. Ya escribí en Blogpocket sobre esto:
Cómo migrar plantillas en WordPress, entre temas y sin perder estilos.

La manera más fácil de crear un tema hijo es mediante el plugin Create Block Theme. Solo hay que elegir la opción «Apariencia > Crear un tema de bloques > Create a Child of «Mi Twenty Twenty-Three».

Si tienes CSS Adicional, asegúrate de que cuando actives el tema hijo, tienes las instrucciones de dicho CSS Adicional que tenías en el tema padre. Ve a Apariencia → Editor → Estilos (icono del ojo o de las preferencias) → CSS adicional y vuelve a pegar ahí tus reglas con el tema hijo ya activo. Así se guardarán asociadas al tema hijo. Antes, prueba la regla con un selector muy obvio (body { background: red !important; }) para descartar errores de sintaxis o caché.

Para colores, tipografías, espaciados, etc., lo recomendado en temas de bloques es definirlos en theme.json del tema hijo. Es más limpio que CSS suelto y el plugin Create Block Theme tiene opciones para sincronizar cambios desde el editor a theme.json.

Cosas a tener en cuenta, antes de actualizar el tema padre

La regla de oro de los temas hijos es: el padre se actualiza, el hijo no se toca. Toda tu personalización vive en el tema hijo (incluyendo el CSS adicional, que se guarda en la base de datos asociado al hijo, no en archivos del padre). Por eso actualizar el tema padre no debería afectar a tu personalización.

Aun así, ten en cuenta que si saltas de golpe varias versiones (por ejemplo, en Twenty Twenty-Three, de la 1.1 a la 1.6) puede haber varios años de cambios, así que después de pulsar actualizar:

  1. Recarga el frontend en una ventana de incógnito y revisa que todo se ve igual.
  2. Comprueba que tus personalizaciones del CSS Adicional funcionan.
  3. Echa un vistazo al Site Editor para confirmar que las plantillas y el CSS adicional siguen ahí.

Antes de actualizar, una recomendación

Haz una copia de seguridad. No porque se esperen problemas, sino porque es la práctica higiénica básica antes de cualquier actualización de tema, plugin o core. Si tu hosting tiene staging, mejor todavía: prueba la actualización ahí primero.

Posibles efectos secundarios (poco probables, pero los menciono)

  • Si tu tema hijo sobrescribe alguna plantilla del padre (algún archivo .html en /templates/ o /parts/), esa plantilla seguirá usando tu versión antigua y podría desentonar con cambios estructurales del padre nuevo. Como tú solo has tocado CSS adicional, no es tu caso.
  • Si el theme.json del padre cambia presets de colores o tipografías, podrías ver diferencias visuales. De nuevo, fácil de revisar tras actualizar.

Caso real: actualización de Twenty Twenty-Three de 1.1 a 1.6 en SiteGround

Vamos a actualizar el tema Twenty Twenty-Three de 1.1 a 1.6 en SiteGround. Para ello:

  1. Hacemos copia de seguridad extraordinaria.
  2. Creamos tema hijo con el plugin Create Block Theme.
  3. Nos aseguramos de que el CSS Adicional funciona.
  4. Creamos un staging.
  5. Actualizamos el tema padre.
  6. Si todo funciona, eliminamos el staging y actualizamos el tema en el sitio de producción.