Cómo obtener un url de imagen de campo personalizado de tamaño específico

2

Tengo un campo personalizado "cmb2" con type->file . y lo uso para subir imágenes.

Si uso:

echo get_post_meta( $post->ID, '_pf_photo1', 'medium' );

Obtengo la url de la imagen completa (no la del medio).

¿Cómo puedo obtener la url de la 'miniatura' / 'media' y así sucesivamente ...

    
pregunta Ben 14.11.2016 - 10:02

2 respuestas

2

La función get_post_meta() puede ayudar a obtener el campo meta pero no recuperará un tamaño diferente.

Suponiendo que _pf_photo1 incrusta el ID del archivo adjunto, puedes hacer algo como eso:

// Note the "_id" suffix
$attachment_id = get_post_meta($post->ID, '_pf_photo1_id', true);

El último parámetro para esta función no puede ser 'medio',

Ahora, puedes usar $attachment_id con una función diferente dependiendo de lo que realmente quieras obtener (url, elemento img ...):

$attachment_element = wp_get_attachment_image( $attachment_id, 'medium' );
echo $attachment_element;

Hay más formas de obtener detalles para el archivo adjunto wp_get_attachment_url() , wp_get_attachment_image_src (que devuelve una matriz con url, ancho, alto).

Encontrará más detalles para descubrir estas funciones aquí

Espero que ayude!

    
respondido por el Benoti 14.11.2016 - 10:49
3

Puedes obtener el ID del archivo con _pf_photo1_id , entonces es fácil obtener una URL de cualquier tamaño:

$file_id = get_post_meta( $post->ID, '_pf_photo1_id', true );

if ( $file_id )
    echo wp_get_attachment_image_url( $file_id, 'medium' );
    
respondido por el TheDeadMedic 14.11.2016 - 10:43

Lea otras preguntas en las etiquetas