Creando un tema desde cero para WordPress parte 4: Acciones al activar/desactivar

Ya hemos aprendido qué es un tema de WordPress, cómo es y cómo funciona. En esta última entrada vamos a ver cómo ejecutar acciones al activarlo o desactivarlo.

Por ejemplo, al activar un tema de WordPress puede interesarnos modificar algunos valores por defecto o crear opciones de tema nuevas para nuestras configuraciones. Un ejemplo muy práctico es el siguiente: Si queremos que cualquier usuario pueda registrarse (opción que viene desactivada por defecto), al activar el tema podemos permitir el registro…pero debemos ser consecuentes y volver a desactivarlo cuando el usuario desactive nuestro tema.

Otros ejemplos para que pueda entenderse mejor: que nuestro tema modifique los roles y capacidades de usuarios, que necesitemos opciones de tema propias para personalizar el look & feel de nuestra web o añadir información de contacto, redes sociales, etc…

Para todo lo que se nos pueda ocurrir o podamos necesitar disponemos de dos hooks: after_switch_theme y switch_theme. Como lo mejor es verlo con un ejemplo, supongamos que en nuestro tema queremos que cualquiera pueda registrarse y además hemos creado unas opciones para el personalizador en nuestro functions.php donde establecemos los perfiles a las redes sociales.

Al activar el tema, a través del hook after_switch_theme activaremos el registro de usuarios y crearemos las opciones de nuestro tema con un valor por defecto. Al desactivar el tema, a través de hook switch_theme desactivaremos el registro de usuarios y borraremos las opciones de tema para no dejar rastros en la base de datos. Agregaremos a nuestro functions.php lo siguiente:

Cada una de estas funciones se ejecutará una vez que el tema se activa o desactiva respectivamente, permitiéndonos establecer unos valores por defecto a configuraciones personalizadas.

Hasta aquí hemos llegado con la serie de 4 entradas sobre cómo crear temas WordPress a medida desde cero. Espero que os sea de utilidad.

Si te ha gustado, valora este artículo para mejorar la calidad del blog o compártelo en Redes Sociales…
1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, valoración 5,00 sobre 5) Loading...

Web Hosting
  • Buenos días Pablo!! Interesante serie de tutoriales.

    En mi opinión la eliminación de opciones debería realizarse al eliminar el theme, no al desactivarlo. Cambiar de un theme a otro es muy habitual; tener que configurar el theme de nuevo si vuelves a uno anterior es un engorro. Creo que la configuración debería permanecer al desactivar el theme y eliminarse solo al desinstalar. Lo mismo para plugins.

    En plugins es fácil ya que soportan hooks para la desactivación y hooks para la desinstalación, lamentablemente en themes no, aunque hay un ticket solicitando su implementación desde hace más de 6 años. De momento parece que no queda otra que eliminar las opciones al desactivar si no queremos que nuestro theme deje residuos.

    • Imagino que lo implementarán tarde o temprano, es algo de cajón y una funcionalidad muy útil