サポート » 使い方全般 » 投稿記事ごとに違うサイドバーを表示させたい

  • 解決済 nekotachi

    (@nekotachi)


    こんにちは。いつもお世話になっています。
    投稿記事ごとに違うサイドバーを表示させたくて模索しているのですが、似た質問などを読んでもなかなか解決しないので質問させてください。
    こちらのページhttp://wpcms.jp/191/
    わかりやすい感じがしたので参考にしてsingle.phpをいじってやってみていますがどうもうまくいきません。

    まずsingle.phpの下のほうの

    <?php get_sidebar(); ?>

    の部分に以下のコードをいれましたが、作成したsidebar-5.phpは表示されませんでした。

    ex.記事ID「12」と「15」の記事にサイドバー5を表示させたい
    それ以外はサイドバー1を表示させたい

    <?php
    if($post->ID == '12' || $post->ID == '15') {
     include('sidebar-5.php');
    } else {
     get_sidebar();
    }
    ?>

    それで、

    is_single()やis_page()などコンディショナルタグも併用しないと思わぬ結果になることがあると思います。

    とのことでしたので、どう併用するのかわからずいろんなサイトを参考に

    <?php
    if( is_single('12') || is_single('15')) {
     include('sidebar-5.php');
    } else {
     get_sidebar();
    }
    ?>

    とやってみましたが、これも成功せず意図したものでなくまっさらなサイドバーになってしまいます。
    ちなみにカテゴリーごとにサイドバーを変えるのにはcategory-x.phpにsidebar-x.phpを読み込ませることで成功しました。
    (これはデフォルトのものとかコピペしたやつの<?php get_sidebar(x); ?>の数字を変えるだけだったので簡単でしたが、今回のようなifをつかった条件分岐というのでしょうか、文章をうつのは初めてで、言葉の意味はわかってきましたがまだ応用のしかたがわかっていないです)
    なにか文法が間違っているのではないかと思うのですが、どうでしょうか。(何度もチェックしたので打ち間違えなどではないと思いますし、他の編集操作にエラーはありません。)

    phpに関しては、wordpressをさわりはじめてから必要に迫られて勉強しはじめたばかりです。ここのフォーラムやgoogle先生、いくつかのプラグインに救われてなんとか作っているところです。よろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    nekotachiさん、こんにちは。

    まっさらなサイドバーになってしまいます。

    「まっさらな」とは、HTMLのソースでどのようになっているのでしょうか。
    ID12もしくは15の投稿を表示した際に

    1. sidebar-5.php部分のソースだけが全く出力されていない。
    2. ‘sidebar-5.php’部分以降全てのソースが出力されていない。
    3. ノーマルのサイドバーのソースが出力されてしまっている。

    まずは、

    <?php
    if( is_single('12') || is_single('15')) {
    echo 'a';
    include('sidebar-5.php');
    } else {
    echo 'b';
    get_sidebar();
    }
    ?>

    とやってみて、aがでるのかbが出るのか確認してみてください。

    トピック投稿者 nekotachi

    (@nekotachi)

    jim912さん、こんにちは。

    ありがとうございます!
    提示してくれたものだと1だと思います。サイドバー1(get_sidebar()の中身)の内容が出力されるのでもなく、形は崩れてない、CSSで指定した色の、なにもないサイドバーが出てきました。

    jim912さんのコードでやってみたところ「a」が表示されてちゃんとsidebar-5.phpが読み込まれました!それでecho ‘a’;とbとを消してもう一度やったら、意図したとおりになりました。

    ・・・ということは最初の自分の綴ったものは間違えてはいなかったのですよね、見比べるとecho部分以外は同じですよね。
    もしや、というかたぶん、どこかが全角になっていたとかそういうオチでしょうか。。やはりどこかからコピペ→修正ばかりして自分で手打ちしてなかったのが祟ったのではと思います。。
    お騒がせしてすみませんでした。
    ああ、うまくいくと面白いですね。本とか買ってちゃんと勉強しようかと思います。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿記事ごとに違うサイドバーを表示させたい」には新たに返信することはできません。