Descubre en este tutorial cómo añadir modificaciones a un child theme de Genesis dentro de un plugin en lugar de en functions.php.
Si has leído varios tutoriales de Código Genesis habrás visto esta frase varias veces:
Añade este snippet al final del fichero functions.php o a tu plugin de funcionalidades:
En realidad, solo recomiendo añadir los cambios al fichero functions.php cuando están directamente relacionados con el tema.
Pero si usas Genesis puede que ni en esos casos sea la mejor opción.
Y es que una de las ventajas de Genesis Framework es que ofrece una capa que unifica los child themes. Por lo tanto, hay modificaciones relacionadas con el tema que podrías querer mantener al cambiar de child theme.
Por ejemplo:
- Ocultar la información meta superior (fecha, autor…).
- Ocultar la información meta inferior (categorías y etiquetas).
- Añadir soporte responsive a los incrustados.
- Añadir categorías a la cabecera de un CPT.
Y esto son solo algunas de las modificaciones que hemos visto aquí, pero lo mismo aplicaría a cualquier otro cambio que afecte al tema.
Sin embargo, el problema que te puedes encontrar si colocas los snippets directamente en el plugin de funcionalidades es que se carguen demasiado pronto (antes de que Genesis cargue sus ganchos y filtros) y no surtan efecto.
¿Problema? ¡Qué va!
Tiene fácil solución con el hook after_setup_theme. 😉
Snippet para introducir los cambios de un tema de Genesis en un plugin
Como ejemplo voy a tomar las 4 modificaciones mencionadas arriba y crear el código que tendrías que pegar en tu plugin de funcionalidades:
Para ver este código y los otros 1869 snippets de esta web,
identifícate o suscríbete aquí.
Como ves, tienes los 4 snippets que pegarías directamente en functions.php, pero encapsulados dentro de una función que usa el hook after_setup_theme.
Con esto consigues que el código se ejecute después de que Genesis ya haya cargado todos sus ganchos (y filtros).
Y por lo tanto, funcionará. 🙂
Conclusiones
Ahora ya sabes cómo añadir cualquier modificación de un child theme de Genesis en un plugin de funcionalidades en lugar de usar functions.php.
Esto tiene varias ventajas:
- El código se ejecuta aunque cambies de child theme.
- Puedes actualizar el child theme sin perder las modificaciones.
- Evitas recargar en exceso el fichero functions.php.
Y ya sabes, si tienes alguna pregunta o quieres darme una sugerencia para próximos tutoriales, déjala en los comentarios (esta opción es exclusiva para suscriptores).