web-dev-qa-db-ja.com

特定サイズのカスタムフィールド画像のURLを取得する方法

私はtype->fileを含む "cmb2"カスタムフィールドを持っています。私はそれを使って画像をアップロードします。

私が使うなら:

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

私は(中程度のものではなく)フルイメージのURLを取得します。

どうやって 'medium'/'thumbnail'などのURLを取得できますか...

2
Ben

get_post_meta()関数はメタフィールドを取得するのに役立ちますが、異なるサイズを取得しません。

_pf_photo1が添付ファイルIDを埋め込んでいると仮定すると、次のようなことができます。

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

この関数の最後のパラメータは 'medium'にはできません。

今、あなたはあなたが本当に得たいもの(url、img要素...)に依存して異なる機能で$attachment_idを使うことができます:

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

添付ファイルwp_get_attachment_url()wp_get_attachment_image_src(これはurl、width、heightの配列を返します)の詳細を取得する方法は他にもあります。

あなたはこれらの機能を発見するためのより多くの詳細を見つけるでしょう ここ

それが役に立てば幸い !

2
Benoti

_pf_photo1_idを使ってファイルの _ id _ を取得することができます。そして任意のサイズのURLを取得するのは簡単です。

$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