サポート » 使い方全般 » ページごとに異なるサイドバー

  • 解決済 inuaji

    (@inuaji)


    条件分岐の仕方を
    http://wpdocs.sourceforge.jp/Conditional_Tags
    Codexでみつけてトライしてみたのですが、ulなどにclassをつけたりするとエラーになってしまいます。
    1と2のときはA、3と4のときはBを表示したいです。どのようにしたらよいのでしょうか・・・

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • sandboxというテーマがありますので参考にしてみたらいかがでしょうか?
    http://wordpress.org/extend/themes/sandbox#post-35
    ページによって2カラムや3カラムなどの変更も出来るそうです。
    (まだ試していないので申し訳ありませんが・・・)

    モデレーター IKEDA Yuriko

    (@lilyfan)

    1と2のときはA、3と4のときはBを表示したいです。

    「何が」1,2,3,4 のときに切り替えたいのですか?

    あと、条件分岐タグを使うときは、ul に class 属性を付ける必要はありません。単純に if 分でブロックを囲むだけでよいです。

    トピック投稿者 inuaji

    (@inuaji)

    fujichanさん、早速DLしました!参考にしたいと思います。ありがとうございました。
    lilyfanさん、すみません、ページのIDが1とか3とかの時にはAサイドバーを・・といった感じです。
    class属性をつけないとデザインはどうしたらいいのでしょうか?初心者なもので勘違いな質問をしているかもしれません。
    調べていて見つけたのですが、sidebar.phpをファイル分けして読み込ませた方が簡単でしょうか?

    モデレーター IKEDA Yuriko

    (@lilyfan)

    ページのIDが1とか3とかの時にはAサイドバーを・・といった感じです。

    そのページ ID を持つ投稿1つだけを表示させているとき (シングルポスト表示) でしょうか?

    この場合は、is_single() で判断すればいいです。
    あと、single.php テンプレートも改造して、ループ中でページ ID を保持させれば楽です。sidebar.php の方では、is_single() の場合に保持したページ ID を見て条件判断させれば、希望の動作ができるでしょう。

    調べていて見つけたのですが、sidebar.phpをファイル分けして読み込ませた方が簡単でしょうか?

    サイドバーの変化する具合にもよりますが、この方が簡単でしょう。あまり変化する部分がない場合は、単一の sidebar.php の内部で if 分岐すればいいです。

    class属性をつけないとデザインはどうしたらいいのでしょうか?

    「class を付けたらエラー」というのが、どんなエラーなのかよく分かりませんが、通常は ul タグに class 属性をつけてもエラーにはなりません。エラーが出るとしたら、何か間違いをしていると思います。
    どういうデザインを実現しようとしているのか不明ですが、class を使わない方法としては、id 属性を使ったり、親子セレクターを使う手などがあります (サイドバーにある ul 要素、という指定ができるので)。

    トピック投稿者 inuaji

    (@inuaji)

    なあるほど!ちょっとじっくりと取り組んでみます。 あれこれ時間がかかりそうなのでひとまずお礼を。また後日、ご報告いたします!
    ご丁寧な返信をありがとうございました!

    こんなのありますよ
    http://www.thaslayer.com/free-plugins/
    ページ、記事、カテゴリーなど細かく表示できるwidgetを切り替えることが可能です。

    ただし、WP2.6.5でしか検証していません。
    プラグインのバージョンの関係で私は2.7を断念していて
    わざわざこれらのプラグインを使いたいがために2.6.5に戻しました。

    おためしあれ。

    トピック投稿者 inuaji

    (@inuaji)

    無事分岐できました!
    皆様ありがとうございました!

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「ページごとに異なるサイドバー」には新たに返信することはできません。