[WP]WordPressでアイキャッチの画像とパスを取得する方法

WordPress
スポンサーリンク

WordPressの記事投稿時に「アイキャッチ」を利用する事が多いと思います。

例えば「最新記事をアイキャッチ付きで一覧表示」したり「OGP 設定にアイキャッチを使う」など、非常に利用頻度の高い画像ですので、今回はこのアイキャッチ画像を取得する方法をまとめました。

アイキャッチの「画像」の取得

まずはアイキャッチの画像を<img>タグ付きで取得する方法です。


functions.phpの編集

アイキャッチを有効にするには、使用しているテーマのfunctions.phpでadd_theme_support('post-thumbnails')を有効にします。

※functions.phpに以下のコードの記述がなければ追記します。



アイキャッチの「画像」の取得方法

アイキャッチがあれば <img> タグ付きで画像を表示し、なければ代替イメージを表示するというサンプルです。

テンプレートタグget_the_post_thumbnailでアイキャッチを取得します。


get_the_post_thumbnail()

get_the_post_thumbnail()の引数は以下の通りです。

$post_id投稿ID
$size画像サイズ(初期値’thumbnail’)
$attr<img>タグの属性(class=、title=、align=など)を
文字列で返す。省略時はなし(false)

第3引数$attrはよく省略しますが、独自のクラスを付与したい場合は以下のような記述をします。



アイキャッチの「画像パス」の取得方法

アイキャッチの「画像パス」だけ取得することもできますので、OGP 設定のog:imageには <img> タグは外して、src=の値だけを表示する、なんてことが可能です。

まずはテンプレートタグget_post_thumbnail_idでアイキャッチ IDを取得します。



wp_get_attachment_image_src()

次に、アイキャッチの情報を取得できるwp_get_attachment_image_src()を使うことで、画像の「URL、幅、高さ」が配列で返ってきますので、


URLを取得することができます。

wp_get_attachment_image_src()の引数は以下の通りです。

$attachment_idアイキャッチID
$size画像サイズ(省略時’thumbnail’)
$iconアイコン画像。使用する場合は true で省略時はなし(false)

第2引数の$sizeには「’thumbnail’、’medium’、’none’」の3種類が指定できますし、


array(200,200)のように、ピクセルでサイズを指定することもできます。


参考ページ
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_the_post_thumbnail
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_post_thumbnail_id
Function Reference/wp get attachment image src

コメント

  1. yui より:

    勝手にリサイズされた画像を読み込まれてしまい、画像がボケボケで困っていました。こちらの設定をしたら綺麗に表示されました!ありがとうございます!容量も軽くなるし一石二鳥!

タイトルとURLをコピーしました