サポート » 使い方全般 » あるページだけサイドバーを非表示に

  • 解決済 karinkarin

    (@karinkarin)


    karinkarinと申します。 宜しくお願いします。

    【やりたい事】———————————
    TOPページ
    Aページ(固定ページ)
    Bページ(カテゴリー(投稿)ページ)
    Cページ(カテゴリー(投稿)ページ)
    と各ページがあったとします。
    「Cページ」の各詳細ページ(コメント欄があるページ)だけ、サイドバーを非表示にし、
    コンテンツエリアの幅を広げたい。
    ————————————————

    【ためした事】———————————
    「Cページ・スラッグ名」ページ以外の時にサイドバーを表示させる。と言うつもりで
    single.phpに
     <?php if (!is_page(array(‘Cページのスラッグ名’))) : ?>
     <?php get_sidebar(); ?>
     <?php endif; ?>

    と記載してみましたが、サイドバーは表示されたままでした。
    (検索したりして、上記を記載しましたが、勉強不足の為まったく検討違いな事をしているかもしれません…)
    ————————————————

    各詳細ページ(コメント欄があるページ)だけサイドバーを非表示にし、コンテンツエリアの幅を広げる方法をご教授いただけないでしょうか?
    宜しくお願いいたします。

    当方の環境は下記の通りです
    【WordPress 3.1.3】
    【テーマ:Arras 1.5.0.1】

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    Cページ(カテゴリー(投稿)ページ)

    と書いていらっしゃるので、

     <?php if (!is_page(array('Cページのスラッグ名'))) : ?>
    は間違いです。なぜなら、Cページはページじゃなくてカテゴリーだから。

     <?php if (!in_category(array('Cページのスラッグ名'))) : ?>
    が正解のはず。

    「サイドバーを非表示」はこれでOKのはずなので、「コンテンツエリアの幅を広げる」の方はCSSでご自由にどうぞーー

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    おまけ:別のやり方

    single.phpをコピーし、
    single-default.phpとsingle-c.phpを作る。(phpファイルの名前は何でもいいです)

    single-default.phpはそのまま。

    single-c.phpから、<?php get_sidebar(); ?>の記述を消す。

    もともとのsingle.phpは、一旦中身を全部消して以下に差し替え

    <?php
    $post = $wp_query->post;
    if ( in_category(array('Cページのスラッグ名')) ) {
    include(TEMPLATEPATH.'/single-c.php');
    } else {
    include(TEMPLATEPATH.'/single-default.php');
    }
    トピック投稿者 karinkarin

    (@karinkarin)

    mypacecreatorさん、素早い回答ありがとうございます。

    教えた頂いた通り、<?php if (!in_category(array(‘Cページのスラッグ名’))) : ?>でやってみた所、Cページ(カテゴリー(投稿)ページ)だけサイドバーを非表示にする事が出来ました。
    カテゴリーの時は【!is_page】ではなく【!in_category】になるんですね。
    勉強になりました。

    別のやり方まで教えていただき、本当にありがとうございます。
    こんなphpの判定方法もあるんですね。
    色々応用できそうです。
    ありがとうございます。

    今回教えていただいた事を参考に、もっとphpを勉強していきたいと思います。
    mypacecreatorさん、分かりやすく教えていただき本当にありがとうございました。

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