Memo, WordPress

メモ:ギャラリーの1枚目の画像取り出し

WordPressのデフォルトの機能でギャラリーがあり、ギャラリーそのものはそんな難しくない。

で、これを別の固定ページにギャラリーの1枚目の画像だけを表示させたい。

1枚目の画像だけを取り出すだけならそんな問題ない。

http://appofit.com/wordpress/template-wp/postimg-wp/

↑ここにある通りにやれば取り出せる。

が、しかし。

自分の好きなサイズで表示させるにはどうしたらいいもんか。。。

上記のサイトでも横幅だけなら指定できる。
でも、横幅だけだと、どの写真も同じ比率じゃないと凸凹になる。

好きなサイズにトリミングして表示させたい。

さて、ここからが大変。

色々調べた結果。
JetpackにあるPhoton CDNを利用する。

で、これで終わるかと思いきや。
結局、上記のリンク先の方法だと、大元の画像のURLを読み込んでくる。

Photon CDNで自動でURLを変えてくれない。
http://pronama.azurewebsites.net/2013/04/13/photon-api/
ここにあるように本来は自動で変えてくれてトリミングまでできるはず。

だけど、今回は違う。

さてどうしたもんか。

PHPヨクワカラナイ。。。

なんとなく文字列を置き換えれるだろうと予測。

ふむふむ、、、str_replace、、、ふむふむ?

さて、これをfunctionのほうに記述するのか、テンプレートに記述するのか。
PHPが分かる人にはものすごく簡単なんだろうけど、ちんぷんかんぷん。

で、すったもんだあった末、テンプレートの方に記述でうまくいきました。

テンプレートの方の記述はこんな感じ。

<?php $postImage = getPostImage($post);
 if($postImage == null){
 // 画像が無い場合の処理:No Image画像をセットするなどを記述
 }else{
 // 画像がある場合の処理
 // 例では、imgタグのセット方法をご紹介しておきます
 $imgurl = str_replace('http://','http://i0.wp.com/',$postImage["url"]);
 echo '<img alt="' . $postImage["alt"] . '" src="' . $imgurl . '?resize=好きなサイズ" />';
 } ?>

相変わらずこれでいいのかどうかは分かりません。

でもまあ、表示したし、いいんじゃね?的な。

 

 

 

 

と、思ったんだけど、、、ループの中に入れても1枚しか表示されない。。。

何ともならんので、結果的にはアイキャッチ画像で代用。。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA