CMB2プラグインに、ページのWPデフォルトの中サイズで画像を表示させようとしています。画像を表示させることはできますが、その画像はユーザーが望む任意のサイズにすることができます。固定サイズに切り取ったほうがいいでしょう。
私はCMBを設定しています。
add_action( 'cmb2_admin_init', 'cmb2_page' );
function cmb2_page() {
$prefix = 'cmb_one_';
$cmb_two->add_field( array(
'name' => __( 'Image Loader', 'cmb2' ),
'desc' => 'Upload an image or enter an URL.',
'id' => $prefix . 'image_two',
'type' => 'file',
'options' => array(
'url' => true,
),
'text' => array(
'add_upload_file_text' => 'Add Image'
),
'query_args' => array(
'type' => array(
'image/jpeg',
'image/png',
),
),
'preview_size' => 'medium', // Image size to use when previewing in the admin.
) );
}
私が持っているページ上で:
<?php
echo $image_two = wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two', 1 ), 'medium' );
?>
そして、私が使用するだけで画像を表示させることができます。
<?php
echo '<img src="'. $image_two .'" alt="image dis">';
?>
しかし、これを実行した場合、画像サイズを制御する方法はありませんか?
添付ファイルのIDを取得し、それを使用して必要なサイズを取得できます。
https://github.com/CMB2/CMB2/wiki/Field-Types#file
ファイルアップローダデフォルトでは、ファイルのURLを保存し、添付ファイルまたはURLを許可します。 このフィールドタイプには添付ファイルIDも格納されます(さまざまな画像サイズを取得するのに役立ちます)。 $ idに保存します。 '_id' なので、あなたのフィールドIDがwiki_test_imageの場合、IDはwiki_test_image_idに格納されます。添付ファイルのみを許可するように制限することもできます(手動でURLを入力することはできません)。これは、添付ファイルIDを使用する予定がある場合にも役立ちます。例ではデフォルト値を示しています。可能な値はインラインでコメントされています。
wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two_id', 1 ), 'medium' );
あなたがそれを異なるサイズにトリミングしたいならば:
wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two_id', 1 ), 'different_size' );
そしてfunctions.php
では add_image_size を使います
add_image_size( 'different_size', 220, 180 );