[WordPress]各カテゴリと属する記事のサイドバーを変更する方法。

カテゴリごとにサイドバーを変えたかったので、簡単な変更方法をメモしておきます。


ワードプレスでサイト構築していて、各カテゴリーとそのカテゴリに属する(スラッグが同じ)投稿記事のサイドバーを、どうしても変更する必要がありました。
なのでその変更方法をシェアがてらモしておきます。

例えば、ブログカテゴリ・ニュースカテゴリ・メニューカテゴリ
という3つのカテゴリがあったとします。

その3つのカテゴリのサイドバーを、それぞれのカテゴリ用のサイドバーを読み込むようにします。
さらにその3つのカテゴリに属する投稿記事もそれぞれのサイドバーを読み込むようにします。

実装内容は以下のような感じになります。

  • ブログカテゴリ・ブログカテゴリのシングル記事
    →ブログカテゴリのサイドバーを表示
  • ニュースカテゴリ・ニュースカテゴリのシングル記事
    →ニュースカテゴリのサイドバーを表示
  • メニューカテゴリ・メニューカテゴリのシングル記事
    →メニューカテゴリのサイドバーを表示

といった感じに、
各カテゴリとそのカテゴリに属する投稿記事で、読み込むサイドバーを変更します。

まずは、各カテゴリ用のサイドバーを作ります。
sidebar.phpをベースに作ります。
sidebar.phpを複製してsidebar-blog.phpにファイル名を変更

同じようにそれぞれ sidebar-news.php、sidebar-menu.php という風に作ります。
名前に決まりはないのでご自由に。

続いてcategory.phpを開いて

<?php get_sidebar() ?>

となっているサイドバーを読み込む箇所を以下のように変更します。

<?php
if( in_category('カテゴリスラッグもしくはIDを記述') ) {get_sidebar('blog');}
  elseif( in_category('カテゴリスラッグもしくはIDを記述') ) {get_sidebar('news');}
  elseif( in_category('カテゴリスラッグもしくはIDを記述') ) {get_sidebar('menu');}
else {
  get_sidebar();
}
?>

sidebar-○○○.phpを読み込みたいときは {get_sidebar(‘blog’);} の箇所を {get_sidebar(‘○○○’);} という風に記述します。

single.phpも同じように

<?php get_sidebar() ?>

を変更して下さい。

“[WordPress]各カテゴリと属する記事のサイドバーを変更する方法。” への1件の返信

コメントは受け付けていません。