{"id":97,"date":"2014-04-19T21:08:11","date_gmt":"2014-04-19T21:08:11","guid":{"rendered":"https:\/\/danielribes.com\/blog\/?p=97"},"modified":"2026-04-06T11:50:59","modified_gmt":"2026-04-06T11:50:59","slug":"usando-el-hook-wp_head-de-wordpress","status":"publish","type":"post","link":"https:\/\/danielribes.com\/blog\/usando-el-hook-wp_head-de-wordpress\/","title":{"rendered":"Usando el hook wp_head de WordPress"},"content":{"rendered":"<p>Entre los <em>hooks<\/em> que expone la API de WordPress uno de los m\u00e1s usados es el <a href=\"http:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/wp_head\"><strong>wp_head,<\/strong><\/a> que permite a\u00f1adir contenido en la secci\u00f3n HEAD del HTML que genera WordPress.<\/p>\n<p>Para usarlo basta usar una llamada del tipo:<\/p>\n<pre>add_action('wp_head', 'nombre_de_nuestra_funcion');<\/pre>\n<p>Y luego definir una funci\u00f3n, con el nombre que hemos indicado en<em> &#8216;nombre_de_nuestra_funcion&#8217;,<\/em> que sera la encargada de generar el contenido que queremos a\u00f1adir al HEAD.<\/p>\n<p>Esto lo podemos a\u00f1adir en el <em>functions.php<\/em> del theme, o mucho mejor, definirlo como un plugin y de esta manera queda independiente de los ficheros usados en el theme.<\/p>\n<p>El contenido que a\u00f1adamos al HEAD usando esta tecnica, ya queda bajo nuestra responsabilidad, WordPress aqui no realiza ningun tipo de filtraje.<\/p>\n<p>Por otra parte todo esto funcionara si en el fichero correspondiente del theme (generalmente el<em> head.php<\/em>) se usa la funci\u00f3n <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_head\">wp_head()<\/a> antes de cerrar el HEAD, ya que precisamente esta funci\u00f3n es la encargada de dar el control al WordPress para escribir en el HEAD de un documento.<\/p>\n<p>Un ejemplo m\u00e1s concreto. Cuando compartimos una URL en Facebook, este busca imagenes dentro del documento referenciado para usar\u00a0una como miniatura del enlace que compartimos. Usando el protocolo OpenGraph podemos indicar a Facebook que imagen concreta queremos que muestre.<\/p>\n<p>Para hacer esto basta con que en el HEAD a\u00f1adamos este META:<\/p>\n<pre>meta property=\"og:image\" content=\"LA_URL_DE_NUESTRA_IMAGEN\"<\/pre>\n<p>Teniendo esto en cuenta podemos hacer\u00a0que Facebook use como miniatura la imagen destacada de nuestro post.<\/p>\n<p>El siguiente c\u00f3digo realiza precisamente esto y se implementa como un plugin que una vez activado, y solo para las paginas tipo post que tengan una imagen destacada, a\u00f1ade el meta <strong>og:image<\/strong> indicando a Facebook que esta es la imagen que preferimos usar.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/11097539.js\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entre los hooks que expone la API de WordPress uno de los m\u00e1s usados es el wp_head, que permite a\u00f1adir contenido en la secci\u00f3n HEAD del HTML que genera WordPress. Para usarlo basta usar una llamada del tipo: add_action(&#8216;wp_head&#8217;, &#8216;nombre_de_nuestra_funcion&#8217;); Y luego definir una funci\u00f3n, con el nombre que hemos indicado en &#8216;nombre_de_nuestra_funcion&#8217;, que sera [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115],"tags":[28],"class_list":["post-97","post","type-post","status-publish","format-standard","hentry","category-desarrollo","tag-wordpress-2"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":19,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/posts\/97\/revisions\/116"}],"wp:attachment":[{"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielribes.com\/blog\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}