2

この問題に対するあらゆる種類の解決策を見てきましたが、単純な問題を解決したものはありません。ウェブサイトでわかるように、私は右側のサムネイルに取り組んでいますが、同じではありません。サムネイルとして 214x121px に設定する必要があります。

サムネイルの再生成 (functions.php に新しい画像サイズを追加した後) やカスタム画像サイズなどのプラグインを使用してみましたが、成功しませんでした。

明らかだと思いますが<?php echo wp_get_attachment_image( $attachment->ID, array(214, 121), false );?>、私が理解しているように、Wordpress はプロポーションを考慮して、指定されたサイズに最も近い画像を表示します。

私のWordpressのバージョンは3.6です。

任意のアイデア/支援をいただければ幸いです。

4

1 に答える 1

2

私は通常、これを行うために wp_get_attachment_image_src を使用します。これを行う方法は次のとおりです。

次のようにカスタム画像サイズを追加した場合:

add_image_size( 'blog_featured_image', 214, 121, false); //Featured Image for Blog

次に、テンプレートで、次のようにカスタム イメージ サイズを呼び出すことができます。

<?php $imageID = get_field('featured_resource_image');
$imageURL = wp_get_attachment_image_src( $imageID, 'blog_featured_image' ); ?>
<img src="<?php echo $imageURL[0]; ?>" />

「featured_resource_image」は、高度なカスタム フィールド プラグインを使用して作成したカスタム フィールドですが、その get_field は選択した画像の ID を返すだけです。そこで、画像の ID を $imageID に割り当てます。次に、wp_get_attachment_image_src を使用して画像のオブジェクトを取得します。ここでは、'blog_featured_image' のカスタム画像サイズを使用しました。これは、すべての画像データを含む配列を返します。配列の最初のレコードは画像の URL であるため、$imageURL[0] をエコーアウトして URL を返します。

おそらく他の方法、おそらくもっと良い方法がありますが、この方法は常に私にとってうまくいきました。

編集:参照している関数を見ると、これは機能するはずです:

上記のように、カスタム イメージ サイズを定義します。次に、これを使用します。

<?php wp_get_attachment_image( $attachment_id, 'blog_featured_image' ); ?>

$attachment_id を画像の ID と同じに設定するだけですが、現在 ID を取得しています。

于 2013-08-16T13:41:38.777 に答える