Obtener la url de una imagen destacada
En esta entrada quiero contaros como obtener la url de una imagen destacada ya que aunque no lo creáis puede ser bastante útil, y cuando te propones hacerlo puede doler un poco la cabeza, y aunque solo sea un poco si se puede evitar pues es mejor.
No hace mucho me encontré en la situación de que un cliente quería obtener desde el front una serie de listados de asistentes a torneos para imprimir (el botón solo aparecía si era el admin, of course…) de modo que me plantee el enviar la consulta a una nueva pestaña donde apareciera el listado con lo mínimo de estilo para imprimir, aunque me pareció un detalle que apareciera el logo del club y el logo del torneo.
Naturalmente el logo del club no era problema, ya que se trataba de trata de un enlace estático, pero el logo de los torneos sí, al tratarse de una imagen destacada, de modo que pensé en que si podía obtener la id del thumbnail y obtener la url por medio de la id lo tendría hecho…
WordPress me encanta, ya que parece que han pensado en todo y aunque el resultado que voy a mostrar se puede hacer de diferentes formas y además dependiendo de casa situación es mejor utilizar diferentes caminos para obtener la url de una imagen destacada yo os voy a enseñar el que yo he usado, claro que siempre es util usar el codex, y aquí os dejo las dos secciones que yo utilicé:
http://codex.wordpress.org/Function_Reference/wp_get_attachment_url
http://codex.wordpress.org/Function_Reference/get_post_thumbnail_id
Y el siguiente código nos permite ver cómo obtener la url de una imagen destacada de forma muy sencilla, luego ya podremos complicarlo tanto como queramos:
<?php $post_id = 33; $post_thumbnail_id = get_post_thumbnail_id( $post_id ); $url = wp_get_attachment_url( $post_thumbnail_id ); ?> <img src="<?php echo $url; ?>" alt="" />
Cómo vemos lo primero que hay que hacer es obtener la id de la entrada, la forma de hacerlo depende del caso, puede ser manual como en el ejemplo o bien utilizando el bucle donde quedaría reflejada en la etiqueta de plantilla the_ID(), o como queramos / necesitemos.
Tras esto debemos de obtener la id de la imagen, para ello utilizaremos la función get_post_thumbnail_id() que recibe como argumento la id de la entrada de la que queremos extraer el thumbnail.
El siguiente paso ya es obtener la url, para cual se utiliza la función wp_get_attachment_url() que recibe como argumento la id del elemento del que queremos obtener la url, en nuestro caso la id del thumbnail.
De esta forma ya solo tenemos que incluir la url en el atributo src de la imagen para obtener el resultado que deseamos.
Como ya he dicho obtener la url de una imagen destacada puede no ser algo que se realice todos los días, pero es un añadido que podemos hacer sin demasiados problemas y que de un toque a nuestro desarrollo.
There are 2 Comments.