無料で公開されてるWordPressテーマ「Cocoon」のカスタマイズについて。
記事の下に表示できる「関連記事」エリアにおいて、
アイキャッチ画像が設定されている記事のみを抽出するカスタマイズについて書いてみます。
かなりニッチな内容なので一般的に求められるような話ではないと思いますが。
記事を抽出する際に条件を追加する
「関連記事」を表示するように設定すると、
「カテゴリー」あるいは「タグ」に関連して、ランダムにピックアップされた記事が表示されます。
その機能自体は全く問題なく動作しているのですが、
アイキャッチ画像が設定されていない古い記事が並んでしまう時があるのです。
ちょっと見栄え的によろしくない。
かと言って全ての記事にアイキャッチを入れていくには多すぎるし、
記事自体を削除する気にもなれず・・・
なので「アイキャッチ画像が設定されている記事のみを抽出する」という条件を付けてあげれば良いかなと。
related-list.phpを修正する
さてさて、前置きが長くなりましたが実際のコードです。
やることは単純。
テーマフォルダの tmp/related-list.php の12行目、
$args = get_related_wp_query_args();
で取得している”条件となる引数”に一つ足してあげることにしました。
次の行に追記。
... $args = get_related_wp_query_args(); $args['meta_key'] = '_thumbnail_id'; //アイキャッチが設定されてる記事だけ、の条件を追加 $query = new WP_Query( $args ); ?> ...
配列に’meta_key’というキーで’_thumbnail_id’を追加。
子テーマの方に置いて上書きする
直接マスターを書き換えてしまうと、アップデートの際に消えてしまう可能性があります。
Cocoonテーマは子テーマのフォルダに置くと上書きしてくれるのでそちらにアップロードします。
tmpフォルダがなければ作成して、
子テーマフォルダ/tmp/related-list.php
これでアイキャッチ画像が設定されてる記事だけが抽出されます。
まとめ
無駄に長く続けている当ブログ。(2004年9月が最初かな)
最初の方の記事にはアイキャッチ画像なんて設定していないんです。
そもそもWordPressですらなかったし。
テーマはCocoon前身の「Simplicity」から利用させてもらっています。
ほんとにありがたい。(作者様へ感謝)
その時にも似たような話を書いた気がするのですが、
今更ながらCocoonテーマについても紹介してみました。
誰かのヒントにでもなれば幸いです。
では。
コメント