2014年05月27日(Tue)
アイキャッチ画像がセットされていない 場合に用意した代替画像を表示させる
実際、アイキャッチを初めてみると案外簡単な様で難しいと感じたのが感想です。
大した記事でもないのに毎回画像を作ったり、同じものをアップロードするもの面倒で何か良い方法がないか試行錯誤した結果やっと納得するラインまで到達したので記事に致しました。
結構、やっつけで雑なところも多々あると思いますがWordPressを勉強していく過程で良い方法が思いついたら改良していく予定です。
アイキャッチを使ってやりたい事!
- シングルページと一覧ページで違う画像を使用したい
- 一覧ページでアイキャッチ画像が無い場合、代替画像として属しているカテゴリの画像を表示させたい
シングルページと一覧ページで違う画像を使用したい
アイキャッチを数種類登録出来るみたいなプラグインもあったのですが、英語であまり情報が無かったので諦めました。
何が何でもという訳ではなく、簡単に出来たら良いなーと言う感じだったので…
考えた結果、記事のID番号を利用して画像を表示する方法に至りました。
簡単に説明すると、画像を表示させたい記事のID番号で画像を保存し、メディアに登録するだけで表示されます。
注意点は、「メディア設定」のところにある「アップロードしたファイルを年月ベースのフォルダに整理」のチェックボックスにチェックの有無によりパスが変わると思います。
php
//ID番号で用意した画像のパス $img = "相対パス".get_the_time('Y/m/').get_the_ID().'.拡張子'; //ID番号で登録した画像が有る場合 if(is_file($img)){ echo '<img src="ドメイン/'.$img.'" />'; }
一覧ページでアイキャッチ画像が無い場合、代替画像として属しているカテゴリの画像を表示させたい!更に代替画像もない場合は何らかの処理を行う
必要な準備は、カテゴリ登録する際に「スラッグ」を設定しておくこととカテゴリ専用の画像を作成してカテゴリ登録時に設定したスラッグ名で画像を保存することです。
php
//アイキャッチが有る場合 if(has_post_thumbnail()){ the_post_thumbnail('パラメータ'); } //アイキャッチが無い場合 else{ //記事が属するカテゴリをオブジェクト形式で返す $cat = get_the_category(); $cat = $cat[0]; //カテゴリ画像の相対パス $cat = "調べたい画像を相対パスで指定".$cat->category_nicename.".拡張子"; //カテゴリ専用の画像ファイルが有る場合 if(is_file($cat)){ echo '<img src="ドメイン/'.$cat.'" />'; //カテゴリ専用の画像ファイルが無い場合 }else{ echo 'NoPhoto'; } }
コメント(0件)
アイキャッチ画像がセットされていない 場合に用意した代替画像を表示させるに対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム