条件分岐タグでグローバルナビを非表示

Simplicityの特徴 › フォーラム › Simplicityについての質問 › 条件分岐タグでグローバルナビを非表示

7件の返信スレッドを表示中
  • 投稿者
    投稿
    • #41916
      アモーレ
      ゲスト

      このフォーラムを参考に
      header.php を条件分岐タグで
      グローバルナビを特定の固定ページ(ID=100)で非表示にしてます
       <?php if(is_page(’100’)): ?>

      特定のカテゴリー(ID=5)も同様に
       <?php if(!is_category(‘5’)): ?>
      非表示になるのですが

      特定の固定ページとカテゴリー
      両方を非表示にするには、どのように記述すれば良いのでしょうか?
      いろいろと試してみたのですが
      上手く行きません

      お知恵をお貸し下さい
      よろしくお願いいたします

    • #41917
      アバター画像わいひら
      キーマスター

      書いてある条件をそのまま使うとしたら、以下のように書けばいけるのではないかと思います。
      if( is_page(’100’) || !is_category(‘5’) ):

      もし、違う答えでしたら、もう少し詳しく説明を書いていただけると助かります。

    • #41923
      Hidekichi
      ゲスト
      .page-id-10 #navi {
        display: none;
      }

      とすれば非表示にできるような感じで、post-idやpage-idは既に入っているでしょうから、カテゴリのクラスあるいはそのidが入れば同様に書けます。

      add_filter('body_class','add_taxonomy_class');
      function add_taxonomy_class( $classes ){
      	if( is_singular() ) {
      		$post = get_post( $post->ID );  // 投稿 ID から投稿オブジェクトを取得
      		$post_type = $post->post_type;  // 投稿タイプを取得
      		$taxonomies = get_object_taxonomies( $post_type, 'objects' );
      		// 投稿タイプからタクソノミーを取得
      		foreach ( $taxonomies as $taxonomy_slug => $taxonomy ){
      			$custom_terms = get_the_terms( $post->ID, $taxonomy_slug );
      			// 投稿が属するタームを取得
          	 		if ($custom_terms) {
            			 	foreach ($custom_terms as $custom_term) {
              	 			$classes[] = 'tax_' . $custom_term->slug;
            		 		}
          	 		}
      		}
      	}
      return $classes;
      }

      こちらを参考に上記のスクリプトを子テーマfunctions.phpに入れると、bodyタグにクラスやらが追加されるので、

      .page-id-10 #navi,
      .何かしらのクラス #navi {
        display: none;
      }

      とすればイケるんじゃないでしょうか?

    • #41928
      Hidekichi
      ゲスト

      今、simplictyのbodyタグ見たら、別に先のレスのスクリプトを入れなくてもクラスが表示されているみたいなので、それではじけると思います。

    • #41930
      アモーレ
      ゲスト

      間違えました
       誤:<?php if(is_page(’100’)): ?>
       正:<?php if(!is_page(’100’)): ?>

      アモーレ・わいひら様
      ありがとうございます

      「 || 」→「 & 」でうまくいきました

    • #41931
      Hidekichi
      ゲスト

      #41928 について

      あ、やっぱ入ってなかった(笑)
      見るページ間違えてました。

    • #41934
      Hidekichi
      ゲスト

      jQueryだったらこんな感じです。
      サンプル: カテゴリの名前からbodyに任意のクラスを入れる | codepen

      で、

      .navi-hide #navi {
        display: none;
      }

      こんな感じですかね。

    • #41983
      アバター画像わいひら
      キーマスター

      条件が間違っていたんですね;
      どおりでなんか意味不明な条件と思いました。

7件の返信スレッドを表示中
  • トピック「条件分岐タグでグローバルナビを非表示」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)