私のテーマには以下のコードがあります。
<?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が画像のサイズを知っているのに、なぜサイズがブール値を返すのですか?これは、表示中の投稿に関係なく、このコードのすべてのインスタンスに対して発生します。
これは 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
);
width
とheight
はfalse
に設定されています。