wake-up-neo.com

So erhalten Sie eine benutzerdefinierte Feldbild-URL mit einer bestimmten Größe

Ich habe ein benutzerdefiniertes Feld "cmb2" mit type->file. und ich benutze es, um Bilder hochzuladen.

Wenn ich benutze:

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

ich bekomme die URL des Vollbildes (nicht die mittlere).

Wie bekomme ich die URL des Mediums/Thumbnails und so weiter?.

2
Ben

Die Funktion get_post_meta() kann helfen, das Metafeld abzurufen, ruft jedoch keine andere Größe ab.

Unter der Annahme, dass _pf_photo1 die Anhangs-ID einbettet, können Sie Folgendes tun:

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

Letzter Parameter für diese Funktion kann nicht 'mittel' sein,

Jetzt können Sie $attachment_id mit verschiedenen Funktionen verwenden, je nachdem, was Sie wirklich erhalten möchten (url, img element ...):

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

Es gibt weitere Möglichkeiten, um Details zu Anhang wp_get_attachment_url(), wp_get_attachment_image_src abzurufen (das ein Array mit URL, Breite, Höhe zurückgibt).

Weitere Details zu diesen Funktionen finden Sie hier

Ich hoffe es hilft !

2
Benoti

Sie können dieIDder Datei mit _pf_photo1_id abrufen. Dann ist es einfach, eine URL mit einer beliebigen Größe abzurufen:

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

if ( $file_id )
    echo wp_get_attachment_image_url( $file_id, 'medium' );
3
TheDeadMedic