特定カテゴリに限定して、アイキャッチ画像の代わりに記事内最初の画像を表示させる

プラグインがあるかもしれませんが、子テーマ修正にて対応

覚書として。

・アイキャッチ画像は原則として、すべての記事において設定している前提(設定していない場合は作業ミス)。
・前提を踏まえたうえで、特定カテゴリに属する記事において、「記事内の最初の画像を、アイキャッチとして表示」させたい。
・ただし特定カテゴリに属する記事において、一切の画像が使われていない場合は、アイキャッチ画像を表示させる。

つまり、本記事は「アイキャッチ画像の設定忘れ対策」や「アイキャッチ画像の設定の手間を省くために自動化する」という観点にはそぐわない内容になっています。

現在こちらで利用しているテンプレート「yStandard」で実装してみました。

ファイルとしては、

・template-parts\content\archive.php
・template-parts\content\archive-card.php
※アーカイブ

・template-parts\entry\entry-related.php
※関連記事(各記事の下部に表示できる、同一カテゴリの別記事へのリンク)

をいじった形です。

他にもアイキャッチ画像を読み込む項目はある(ブログカードなど)のですが、これらは状況を見て修正しようと考えています。

以下が実際に書き換えた内容です。

なお、「特定カテゴリの場合」を指定するためのカテゴリID、具体的にはif文の「array(■, ■, ■)」という表記は、本来は「array(1, 2, 3)」といった形で数字等でカテゴリを指定する必要がありますので、このままコピペしても使えません。運用するwordpressで確認した上で指定してください(カテゴリIDを確認する方法はこちらなどが分かりやすいです)。

archive.phpおよびarchive-card.php(修正前)

archive.phpおよびarchive-card.php(修正後)

entry-related.php(変更前)

entry-related.php(変更後)

Scroll Up