wp_head() y wp_footer()

wp_head() y wp_footer() son dos template tags que deben estar presentes en todos los temas. Sin ellos, WordPress y los plugins no pueden inyectar sus scripts, estilos y metaetiquetas correctamente.

wp_head()

Va justo antes del cierre de </head>. Imprime metaetiquetas, estilos encolados, scripts del head y todo lo que los plugins necesiten en el <head>.

<!-- header.php -->
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>  <!-- JUSTO ANTES DE </head> -->
</head>
<body <?php body_class(); ?>>

wp_footer()

Va justo antes del cierre de </body>. Imprime los scripts encolados con $in_footer = true y todo lo que los plugins necesiten al final del documento.

<!-- footer.php -->
    <?php wp_footer(); ?>  <!-- JUSTO ANTES DE </body> -->
</body>
</html>

¿Qué imprimen exactamente?

  • wp_head() — CSS encolado, metaetiquetas SEO, scripts en el head, admin bar styles, Open Graph…
  • wp_footer() — JavaScript encolado en footer, scripts de plugins (WooCommerce, formularios, analytics…), admin bar script

¿Qué pasa si no los pones?

  • Los plugins no cargan sus scripts ni estilos
  • La barra de administración no aparece
  • WooCommerce, Contact Form 7, Yoast y casi todos los plugins fallan
  • jQuery puede no estar disponible
  • Google Analytics, Facebook Pixel, etc. no se cargan