web-dev-qa-db-ja.com

Wp_get_attachment_image_srcに幅と高さを追加する

Wp_get_attachment_image_srcにwidthとheightの属性を追加しようとしています。なぜこれが幅と高さを返すのですか:0?

<?php 
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'two' );

if ($image) : ?>
    <img class="attachment-two" src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" />
<?php endif; ?> 

ありがとうございました!

1
Juárez

'two'は何を参照していますか?それはカスタムの画像サイズですか?

宣言された$image変数の後に次のvar_dump('<pre>',$image,'</pre>');を次のように配置します。

$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'two' );
var_dump('<pre>',$image,'</pre>');

出力を確認できるように結果を提供します。

Codexによると、この関数の2番目の引数は、

wp_get_attachment_image_src($ attachment_id、$ size、$ icon);

...指定したサイズを返します。

$size (string/array) (optional)画像の添付ファイルとして表示される画像のサイズ:文字列のキーワード(サムネイル、中、大、または全体)、または幅と高さを表す2項目の配列(ピクセル単位)。配列(32,32)バージョン2.5以降、このパラメータはメディアアイコンのサイズには影響しません。メディアアイコンは常に元のサイズで表示されます。

    Default: thumbnail

そのため、'two'はあなたが追加したカスタム画像サイズの名前を参照するべきです。

add_image_size( $name, $width, $height, $crop );

http://codex.wordpress.org/Function_Reference/add_image_size

あなたはそれをしましたか?

yesの場合、カスタムイメージサイズを作成する前またはカスタムイメージサイズを作成した後にイメージが存在していましたか?

カスタムイメージサイズを作成する前にイメージが存在していた場合、取得しようとしている問題のイメージは、オリジナルの生成バージョンとして適用されたイメージサイズを持ちません。それが当てはまるようにするためには、 サムネイルを再生成する必要があります

2
userabuser