このページでは、カテゴリーの記事一覧ページをできるだけ簡単にアレンジする方法についてまとめています。

category.phpを複製しリネームする

 まず、category.phpを複製し、category-8.phpのように、ハイフンとカテゴリIDの数字をつけて保存するという方法です。カテゴリーIDは、ダッシュボードからカテゴリーの編集画面にアクセスするとアドレスに表示されているのでわかります。

▶ スポンサードリンク


画像の差し替え表示で量産する

 さて、カテゴリーのページをアレンジするといっても、結局一部の画像や文を差し替えるだけだったりします。category-××.phpというファイルをつくって対応するだけのことですが、この方法で大量生産するのは面倒です。もし、画像や文章が自動的に差し替わればどんなに便利かといろいろと解決策を探っていました。

 結論を書くと、下の方法が一番うまくいきました。なお、スラッグは私が作成している他のサイトのもので、あらかじめ自分で指定したものを例に説明しています。

カテゴリーのスラッグを呼び出す

<?php
$cat_info = get_category( $cat );  
↑カテゴリIDを使って呼び出したいスラッグを指定する
?>

<IMG src=”https://n-hokkaido.com/tetudou/image/<?php echo wp_specialchars( $cat_info->slug ); ?>.png” >

 これにより、カテゴリーで入力したスラッグがhokkaidoであれば、”https://n-hokkaido.com/tetudou/image/hokkaido.png”というようになります。

 ピンと来ましたでしょうか。カテゴリスラッグ名をうまく使えば、任意の画像を呼び出せることになります。例えば、imageフォルダの中に、カテゴリスラッグと同じ名前の画像を入れて行けば、自動的にそれが表示されるというわけです。

【よく分からないかもしれない解説】

 カテゴリー表示の場合は、グローバル変数$catに表示しているカテゴリーのIDが入っているようです。これをget_categoryの引数として指定し、カテゴリーの情報を取得することが可能ということなので次のようにしてみました。

<?php $cat_info = get_category( $cat ); ?> を呼び出したあとに <?php echo wp_specialchars( $cat_info->slug ); ?> とすると…。

slugの部分が、私のサイトの場合ですが、JR北海道のカテゴリーでは「hokkaido」普通列車では「local」711系では「711」と出力されるようになりました。ここまで来たら勝ったようなものですね。この記事をここまで読んでいただけるような方ならもう応用し放題ではないでしょうか。

カテゴリーのスラッグを使った応用

 さて、先ほどの応用ですが、<?php echo wp_specialchars( $cat_info->slug ); ?>2.pngとか。<?php echo wp_specialchars( $cat_info->slug ); ?>-midasi.pngという使い方も可能です。

 そうすることによって、hokkaido2.pngとかhokkaido-midasi.pngなどになるわけですから、ひとつのページの中で何か所も連動させて画像を入れ替えることが可能となるわけです。画像が入れ替わるだけでも、印象はずいぶん違います。画像を作ってフォルダに入れればいいだけですから、効率よくサイト作成もできます。

試して失敗した方法

 さて、画像を差し込むアイディアが思いついてから試して失敗した方法も紹介しておきます。

カテゴリーのアドレスを取得する

 最初は、カテゴリのアドレスを取得して、画像リンクを貼る方法を検討しました。しかし、これはうまくいきませんでした。

カテゴリーのスラッグを取得する

<?php echo $cat->category_nicename; ?> 

 これも先ほど紹介したようにカテゴリのスラッグ(アルファベット)を取得するタグなので、一瞬うまく行ったと思いました。しかし、残念なことに、そのカテゴリに所属する最初の記事のカテゴリまで取得してしまい思うようにいきませんでした。

 所属記事とか、親カテゴリ・子カテゴリに関係なく、「今開いているカテゴリ」のスラッグが欲しいのです。