アーカイブ表示の時、写真カテゴリの一覧表示は全文表示にしたい・・・したくない?
私のWordPressでは大きく分けると3つのカテゴリがあります。車載動画、サーバ(Webサービス)、そして写真。
車載動画とサーバに関しては一つの記事が長い為、「アイキャッチ&本文途中まで表示」という表示方法で良いのですが、写真カテゴリの場合は本文は1~2行の為、写真カテゴリだけは全文で表示したいと思っていました。やっと成功したので書き残しておこうと思います。
テーマは「Spacious」を使っています
当サイトでは「Spacious」というテーマを使っています。
このテーマではブログの表示方法を、管理画面の外観→Theme OptionsのDesign「Blog Posts display type」で変更することができます。

- Blog Image Large →アイキャッチ画像大
- Blog Image Medium →アイキャッチ画像小
- Blog ImageAlternate Medium →(詳細不明)
- Blog Full Content →全文表示(アイキャッチ画像無)
目標としては、車載動画とサーバは「Blog Image Large」、写真は「Blog Full Content」を使用したいのですが、ラジオボタンで選択する方式の為、どちらか一方しか使用できません。
これは、自分でファイルを修正する必要がありますね・・・。
archive.phpをまず読み込み、その後選択した方式で表示するよう呼び出す
「Spacious」はとても気に入っているテーマですが、説明文は英語で、しかも他のテーマとちょっと作りが違うっぽい・・・。
category.phpがなく、代わりに○-content.phpがいくつかあります。
WordPressでカテゴリアーカイブを表示する場合、
5.category-slug.php
4.category-○.php
3.category.php
2.archive.php
1.index.php
の順番で読み込まれますが、「Spacious」の場合はまずarchive.phpを読み込んでから、ラジオボタンで選択した方式のcontent.phpを呼び出しているようです。
- 「Blog Image Large」を選択している場合→「content-blog-image-large.php」を呼び出す。
- 「Blog Full Content」を選択している場合→「content-blog-full-content.php」を呼び出す。
つまり、archive.phpに写真カテゴリであれば「content-blog-full-content.php」を呼び出し、それ以外であれば「content-blog-image-large.php」を呼び出すように変更すれば良いということのようです。
archive.phpを変更する
まず「写真カテゴリの場合、「content-blog-full-content.php」を呼び出します。
WordPressCodexの条件分岐タグを見てみると、「in_category( array( 1,2,3 ) )」が条件として使えるので写真カテゴリ関係のカテゴリを記載します。

後はelseで「その他の場合、ラジオボタンで選択した方式で表示する」ように記載します。
下記に大きい画像を貼っておきます。赤い枠内が新しく追加した部分。青い枠は元々記載されていた文です。ちなみに削った箇所はありません。

これで写真カテゴリは全文表示されるようになりました。
他のテーマでもアーカイブ表示する場所に同じように記載すればカテゴリ毎に表示方法を変更することができると思います。
しかし、今のところ全投稿ページを表示するページではカテゴリ別の表示を変更することができなかったので、ひとまず置いておこうと思います。
(その為、メニューからも外しましたが、元々いらなかったような気がするのでしばらくこのままにします)
【2016/7/7追記】
上記ではテーマにそのまま書き込んでいますが、このままだとテーマが更新された際に追加した部分が消えます。
なので子テーマを作成してそちらでコード修正しましょう。
参考文献
特に、『WordPressユーザーのためのPHP入門 はじめから、ていねいに。』はWordPressの仕組みを解説しつつPHPの基本を解説してくれているので、PHPをしっかり学ぶ必要はないけどちょこっと改造したいなくらいの人にお勧めです。PHPをがっつり学びたい人、WordPressのテーマを作りたい人には向いていないと思います。