Bienvenidos a la tercera lección del curso de Genesis Avanzado, en el que vemos cómo programar con este fantástico framework para WordPress
Hoy empezaremos a trabajar con profundidad con los hooks de Genesis, empezando por primerísimos que se ejecutan, incluso antes que el propio framework.
En la clase de hoy empezamos ya a complicarnos un poco la vida, pues es esencial que echemos un vistazo al propio código de Genesis para entender lo que estamos haciendo.
"Copiar y pegar" líneas de código que "hacen algo" está muy bien hasta cierto punto, pero hay un momento en el que queremos escribir nuestro propio código. Y entonces es cuando empezamos a dudar ciertas cosas. Y en este caso, la duda más frecuente es algo del estilo:
Entiendo cómo hacer la función, y que se tiene que "enganchar" a un cierto hook. Pero.... ¿Qué hook debo elegir, y por qué?
Bien, pues para responder a esa pregunta deberemos entender "cuando y dónde" se ejecutan esos hooks (que usan do_action) que nosotros aprovecharemos para colocar nuestra función con un add_action del mismo hook.
3 - Hooks de Genesis en init.php
Genesis tiene más de 80 hooks, y vamos a verlos todos. Lo haremos por grupos, ya que es la forma más lógica e intuitiva de aprender. Y hoy empezamos con los primeros hooks que se ejecutan, antes que cualquier otro.
Los hooks tienen dos puntos de vista. El del que los crea para que el resto los usen, y el del que los usa para colocar sus funciones. Aunque podemos hacer ambas cosas, ahora nos vamos a centrar en usar los hooks que los desarrolladores de Genesis han dejado para nosotros.
Y la forma de entender qué hook debemos usar, es mirar en el código de Genesis, pues entonces entenderemos que quiere decir si estamos usando un hook que está "demasiado pronto" o "demasiado tarde". Y empezaremos con los que podemos encontrar en init.php, los primerísimos de todos. ¡Allá vamos!
Como podéis ver, entender bien los hooks es clave para saber cual utilizar. Debajo del vídeo os he dejado un listado de los hooks que hemos visto en esta lección con una breve descripción de cuando se ejecuta, pero de todas formas lo mejor ante la duda es echar un vistazo al código fuente (veremos más sobre eso en próximas lecciones), ya que así lo veremos clarísimo.
En cuanto al código fuente, un par de detalles: El primero es que no debemos intentar entender todo, o sea que no os estreséis si veis cosas que no sabéis qué hacen. ¡Es normal! Incluso muy buenos desarrolladores podrían tener problemas intentando entender el código de un software que no han escrito ellos. Lo importante es simplemente localizar esos hooks.
Y por otro lado: Nunca, nunca, nunca, modificaremos ese código fuente. Ya se que es muy tentador simplemente borrar o añadir una línea dónde queremos hacer algo, especialmente si tenemos el archivo abierto con el editor. Pero la forma correcta es hacerlo a través de un hook en nuestro theme o plugin, ya que si modificamos el código fuente de Genesis, vamos a perder todos los cambios en cuanto haya una actualización. ¡Y no queremos eso para nada!
Así pues, ya tenéis deberes. Todos a probar funciones con los hooks que os he dado, para ver si cargan, si no cargan, si dan error o si no lo dan. En la próxima lección... ¡Más!
Todos los capítulos de este curso:
- Curso de Genesis Avanzado #1: Soporte para Custom Post Types
- Curso de Genesis Avanzado #2: Condicionales
- Curso de Genesis Avanzado #3: init.php hooks
- Curso de Genesis Avanzado #4: header.php hooks
- Curso de Genesis Avanzado #5: framework.php hooks
- Curso de Genesis Avanzado #6: loops.php hooks y prioridades
- Curso de Genesis Avanzado #7: comments.php y sobrescribiendo funciones
- Curso de Genesis Avanzado #8: sidebar.php y sidebar-alt.php hooks
- Curso de Genesis Avanzado #9: footer.php hooks
- Curso de Genesis Avanzado #10: Filter hooks