web-dev-qa-db-ja.com

wp_get_attachment_image_src()幅と高さのブール値

私のテーマには以下のコードがあります。

<?php
$size = 'large';
$postimage = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), $size );
$url = $postimage[0];
$h = $postimage[2]
?>

<div style="background-image: url(<?php echo $url; ?>); height: <?php echo $h; ?>;"></div>

これは、$ postimageに対するvar_dumpの出力例です。

array(3) {
 [0]=> string(99) "{base url here}/uploads/2013/10/h3greendeck.jpg?fit=660%2C660"
 [1]=> bool(false)
 [2]=> bool(false)
}

デフォルトを使用するためにwp_get_attachment_image_src()size引数を削除した場合も、同じ結果になります。 WordPressが画像のサイズを知っているのに、なぜサイズがブール値を返すのですか?これは、表示中の投稿に関係なく、このコードのすべてのインスタンスに対して発生します。

1
Christiaan

これは JetPackのPhotonサービス の説明のようです。

Photonは、Jetpackに接続されたWordPressサイト用の画像高速化および修正サービスです。変換された画像は自動的にキャッシュされ、WordPress.com CDNから配信されます。画像は、GETクエリ引数によって制御される単純なAPIを使用してトリミング、サイズ変更、およびフィルタ処理できます。 JetpackでPhotonが有効になっていると、画像はその場で更新されます。

Photon APIには fit GETパラメータ が含まれています。

http://i0.wp.com/example.com/wp-content/uploads/2014/04/abc.jpg?fit=600%2C400

%2CはURLエンコードされたカンマです。

これは image_downsize フィルタを使用して、画像の検索結果を上書きします。

// Generate Photon URL
$image = array(
    jetpack_photon_url( $image_url, $photon_args ),
    false,
    false
);

widthheightfalseに設定されています。

4
birgire