Para obtener la URL y no la imagen formateada con la etiqueta <img>
en WordPress tenemos la función:
get_the_post_thumbnail_url( int|WP_Post $post = null, string|int[] $size = 'post-thumbnail' )
La función como podemos ver recibe 2 parámetros, un objeto WP_Post
o el ID del post. En el segundo parámetro recibe el tamaño de los thumbnails disponibles o un array con el ancho y alto de la imagen que requieres, WordPress hará el ajuste de su lado y te otorgará la ruta. La lista básica es la siguiente:
- thumbnail: El tamaño predefinido es 150px x 150px como máximo
- medium: El tamaño predefinido es 300px x 300px como máximo
- medium_large: El tamaño predefinido es 768x x [altura proporcional] como máximo
- large: El tamaño predefinido es 1024px x 1024px como máximo
- full: El tamaño original de la imagen
Su tipo de valor de retorno es mezclado, puede retornar false como booleano o la URL de la imagen, si el tamaño de la imagen seleccionada no es válida, retornará entonces full
como la selección.
Ejemplo de uso:
<?php
// Primer ejemplo
// Primero obtenemos la imagen del post ID: 2243 con un tamaño de 500px x 500px
$url_imagen = get_the_post_thumbnail_url(2243, [500, 500]);
// Si la imagen existe, la mostramos
if ($url_imagen) {
echo "<img src=\"" . $url_imagen . "\" alt=\"Mi alt\" />";
}
// Segundo ejemplo
// Obtenemos la imagen de tamaño mediano (300px x 300px) del post ID: 2243
$url_imagen = get_the_post_thumbnail_url(2243, 'medium_large');
// Si la imagen existe, la mostramos
if ($url_imagen) {
echo "<img src=\"" . $url_imagen . "\" alt=\"Mi alt\" />";
}
Recuerda que el primer parámetro se puede obtener de muchas maneras, en el ejemplo se utiliza un ID específico para la prueba.
Lee toda la información en la documentación oficial de WordPress: