Simplicityの特徴 › フォーラム › Simplicityについての質問 › 条件分岐タグでグローバルナビを非表示
-
投稿者投稿
-
-
2016年6月5日 12:39 PM #41916
アモーレ
ゲストこのフォーラムを参考に
header.php を条件分岐タグで
グローバルナビを特定の固定ページ(ID=100)で非表示にしてます
<?php if(is_page(’100’)): ?>特定のカテゴリー(ID=5)も同様に
<?php if(!is_category(‘5’)): ?>
非表示になるのですが特定の固定ページとカテゴリー
両方を非表示にするには、どのように記述すれば良いのでしょうか?
いろいろと試してみたのですが
上手く行きませんお知恵をお貸し下さい
よろしくお願いいたします -
2016年6月5日 1:42 PM #41917
わいひらキーマスター書いてある条件をそのまま使うとしたら、以下のように書けばいけるのではないかと思います。
if( is_page(’100’) || !is_category(‘5’) ):もし、違う答えでしたら、もう少し詳しく説明を書いていただけると助かります。
-
2016年6月5日 2:07 PM #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; }とすればイケるんじゃないでしょうか?
-
2016年6月5日 2:15 PM #41928
Hidekichi
ゲスト今、simplictyのbodyタグ見たら、別に先のレスのスクリプトを入れなくてもクラスが表示されているみたいなので、それではじけると思います。
-
2016年6月5日 2:16 PM #41930
アモーレ
ゲスト間違えました
誤:<?php if(is_page(’100’)): ?>
正:<?php if(!is_page(’100’)): ?>アモーレ・わいひら様
ありがとうございます「 || 」→「 & 」でうまくいきました
-
2016年6月5日 2:17 PM #41931
Hidekichi
ゲスト#41928 について
あ、やっぱ入ってなかった(笑)
見るページ間違えてました。 -
2016年6月5日 2:27 PM #41934
Hidekichi
ゲストjQueryだったらこんな感じです。
サンプル: カテゴリの名前からbodyに任意のクラスを入れる | codepenで、
.navi-hide #navi { display: none; }こんな感じですかね。
-
2016年6月6日 3:48 PM #41983
わいひらキーマスター条件が間違っていたんですね;
どおりでなんか意味不明な条件と思いました。
-
-
投稿者投稿
- トピック「条件分岐タグでグローバルナビを非表示」には新しい返信をつけることはできません。