Sidebar.phpを完成させる・ページごとに違うサイドバーを表示する
公開:2020.05.19 更新:2020.05.23

調べると、このサイトのサイドバーは三種類ほどありました。

(自分で把握してないのかよ)

現状確認

top- 猫ama・カテゴリ・タグ・よく読まれている記事・カレンダー

note- プロフィール・カレンダー・ギャラリー・よく読まれている記事

single- 猫ama・プロフィール・カテゴリ・ギャラリー・タグ・カレンダー・検索・よく読まれている記事

https://kiborineko.com

こんな感じでしたね。(猫amaは猫の写真集のリンクのことです。)

せっかくなので、利便性を考えて検索フォームをもうちょっと上に配置することにしました。

現状は……というと……

各テンプレートにそのままサイドバーのHTML書いてました…..ハイ…….。

この機なので全部サイドバーテンプレートにまとめていきます!!

if文を使った手法

調べたところやはりいろんな方法があるみたいですが、最初はif文で試してみました。

やり方としてはsidebar.phpに直接、

<?php if(is_single()) { ?>
//個別投稿ページで表示するサイドバー

<?php }elseif(is_front_page()){ ?>
//フロントページで表示するサイドバー

<?php }elseif(is_archive()){ ?>
//アーカイブページで表示するサイドバー


<?php else{} ?>

という感じに書いていく手法ですね。

固定ページの場合はis_page()ですね。

それぞれ、当てはまるページの時に「true」を返すのでif文が動いて、それぞれの処理をしていきます。

is_〇〇〇()の「()」の中は様々なオプションが指定できるようです。詳しくはWordPress Codex様をどうぞ。

別々のサイドバーテンプレートを作る手法

と、私も最初if文で動かそうと進めていたのですが、想像以上に行数がえらいこっちゃやな….と思っていた矢先にいい処理が現れたので、これも書いときます。

sidebar.phpを読み込むのにお馴染みの、

<?php get_sidebar(); ?>

ですが、これもさっき書いたようにオプションがあるみたいで、例えば「()」の中を

<?php get_sidebar('useyaro'); ?>

とすると、ディレクトリにある

sidebar-useyaro.php」を読み込むことが出来るみたいなんですね

つまり、ページごとに違うサイドバーファイルを読み込むことが出来る!!という事ですね!!

結局私はこちらの手法を使って解決しました。

ついでにごちゃごちゃだったcssも改修してスッキリィ…….

こちらも詳しくはWordPress Codex様をどうぞ。

スッキリスッキリィ…….

おすすめ商品

一から勉強する際に使った教材

持っていると便利なHTML&CSS辞典

コメント

内容をご確認の上、送信してください。