Wie man eine benutzerdefinierte Feldbild-URL bestimmter Größe erhält

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

Wenn ich verwende:

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

Ich bekomme die URL des gesamten Bildes (nicht das mittlere).

Wie kann ich die URL des ‘Medium’ / ‘Thumbnails’ usw. erhalten?

Solutions Collecting From Web of "Wie man eine benutzerdefinierte Feldbild-URL bestimmter Größe erhält"

Die function get_post_meta() kann beim get_post_meta() des get_post_meta() helfen, get_post_meta() jedoch keine andere Größe ab.

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

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

Letzter Parameter für diese function kann nicht ‘mittel’ sein,

Jetzt können Sie $attachment_id mit verschiedenen functionen verwenden, je nachdem, was Sie wirklich wollen (URL, Element img …):

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

Es gibt mehrere Möglichkeiten, Details für den Anhang zu erhalten wp_get_attachment_url() , wp_get_attachment_image_src (das ein Array mit URL, Breite und Höhe zurückgibt).

Sie finden mehr Details, um diese functionen hier zu entdecken

Ich hoffe es hilft !

Sie können die ID der Datei mit _pf_photo1_id , dann ist es einfach, eine URL beliebiger Größe zu erhalten:

 $file_id = get_post_meta( $post->ID, '_pf_photo1_id', true ); if ( $file_id ) echo wp_get_attachment_image_url( $file_id, 'medium' );