> 記事 > WordPress マメ知識 > wordpressのアイキャッチ画像を自動でセット

wordpressのアイキャッチ画像を自動でセット

2013.09.18.(Wed)Masahiro Natori By.Masahiro Natori
カテゴリー:WordPress マメ知識

Masaです。みなさん、お元気でしょうか?

ここパースの天気は荒れ模様が続いています。

ここのところは毎日のようにスコールがあって傘が手放せないのですが、

パースはなんとも傘の質が悪く、値段の高い!ので困っています。

日本のように105円で傘が買えて、嵐の後はそこら中に傘の残骸が散らばっているのも

問題だと思いますが、こちらの傘の質の悪さ、値段の高さには閉口してしまいます。

一番安い傘でも8ドル(約800円くらい?)程度はしますし、その値段でも日本の

百均ショップで買えるものとそんなに質は変わらないという感じです。ビニール傘を

見かけないのは、ただ持ち込まれてないだけなのかな?

ワタシはお気に入りの青い傘を日本から持ってきたのですが、一度学校に置き忘れたら

見事になくなってしまいました。

今ワタシが持っているのは、こちらのホームセンターの代名詞という感じのBunningsという店で

買ったパラソルのような非常に大きな傘で、ここのところはほぼ毎日持ち歩いています。

bunnings_umbrella

さながら、歩く広告塔ですw。

 

さて・・

WordPressの投稿記事に、アイキャッチという画像をセットできるのですが、

記事によってアイキャッチ画像をセットした記事と、セットしない記事があると、

記事が並んだときにちぐはぐな印象になってしまいます。

そこで、アイキャッチ画像がない場合に、デフォルトのアイキャッチ画像をセットするようにしてみました。

参考にさせていただいたサイトはこちら;
【WordPress】 TwentyTwelveでカテゴリ別のアイキャッチ画像を表示する | work.log

WordPressはHTMLの知識がなくても簡単にウェブサイトが設置できるので

非常に便利で魅力的なのですが、少し変わったことをしようとした場合には、

HTMLなり、CSSなり、PHPなりを編集しなければいけない場合が多い感じです。

(プラグインで解決できることも多いですが、あまりプラグインだらけになると、かえって混乱します)

今回はfunctions.phpに、PHPのコードを追加し、

・トップページ
・全記事一覧テンプレート
・検索結果

のテンプレートでサムネイルを表示している部分を変更しました。

元:<?php the_post_thumbnail(‘thumbnail’); ?>

新:<?php echo auto_post_thumbnail(array(150,150)); ?>

これで完了。と思ったのですが、

ただ、こちらの改造にはひとつ難点がありました。

記事にカテゴリーを指定している場合に、そのカテゴリーのサムネイル画像を

優先して表示する、という機能がついているのですが、そのカテゴリーの

スニペット(snippet 英語表示用の名称)からファイル名を作成し、そのファイルが

存在すれば、アイキャッチ画像として使用してしまうのです。

つまり、記事のカテゴリーに「WordPress」を指定して、アイキャッチ画像が未指定の

記事を作成すると、wordpress.png というファイルがたまたまあった場合、それが意図せず

アイキャッチ画像として表示されてしまうのです。

ファイル名を作成しているところを確認すると、このようになっているので

$file = ‘/images/’ . $cat->category_nicename . ‘.png’;

ここをいじってあげると、アイキャッチ用のファイルを別ディレクトリにすることもできました。

$file = ‘/images/eyecatch/’ . $cat->category_nicename . ‘.png’;

なにかの参考になれば幸いです。

(この記事はテストのため、あえてアイキャッチ画像未設定にしています。)

Masahiro Natori

Masahiro Natori
こんにちはMasaです。39歳の時に16年勤めた会社を辞め、2013年4月に家族で日本からパースに引っ越してきました。2013年6月よりGITSに勤務。2014年1月にGITSのサポートでProgrammerとして457ビザを取得。 趣味は音楽を聴くことと、部屋のレイアウトを変えること、ドライブすること。