Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › ヘッダー (header.php)グローバルナビを特定の固定ページで非表示にするための記述
- このトピックには20件の返信、2人の参加者があり、最後ににより1年、 7ヶ月前に更新されました。
-
投稿者投稿
-
-
2015年9月6日 9:50 AM #31976操ゲスト
よろしくお願いします
グローバルナビを特定の固定ページで
非表示にするための記述を教えていただけないでしょうか参考にですが
特定の固定ページだけ別メニューを表示することは可能でしょうか -
2015年9月6日 11:35 AM #31979yokudekiruゲスト
特定の固定ページと言うのは関数でできると思います。
is_page(); // 何れかの個別の固定ページが表示されている場合。 is_page( 42 ); // ID が 42 の固定ページが表示されている場合。 is_page( 'Contact' ); // post_title が "Contact" である固定ページが表示されている場合。 is_page( 'about-me' ); // post_name(スラッグ)が "about-me" である固定ページが表示されている場合。
それ使ってheader.phpのところの下記の周りにすれば出来るんではないでしょうか(私は初心者なためコードは結構適当です)
<?php if (is_navi_visible())://ナビゲーションが表示のとき get_template_part('navi');//グローバルナビのためのテンプレート endif; ?>
↓↓
<?php if(is_page(’42’)): ?>
<?php if (is_navi_visible())://ナビゲーションが表示のとき
get_template_part(‘navi’);//グローバルナビのためのテンプレート
endif; ?>
<?php endif; ?>42のところは変えてください。
- この返信は9年、 4ヶ月前にわいひらが編集しました。理由: bbPressの文字化けの修正
-
2015年9月6日 11:37 AM #31980yokudekiruゲスト
コードがおかしくなってるので普通に修正
①
is_page();
// 何れかの個別の固定ページが表示されている場合。is_page( 42 );
// ID が 42 の固定ページが表示されている場合。is_page( ‘Contact’ );
// post_title が “Contact” である固定ページが表示されている場合。is_page( ‘about-me’ );
// post_name(スラッグ)が “about-me” である固定ページが表示されている場合。②
<?php if (is_navi_visible())://ナビゲーションが表示のとき
get_template_part(‘navi’);//グローバルナビのためのテンプレート
endif; ?> -
2015年9月6日 11:53 AM #31983Hidekichiゲスト
> 特定の固定ページだけ別メニューを表示することは可能でしょうか
できますが、別メニューを読み込むための仕組みが必要です。> 特定の固定ページで非表示にする
特定のページのpage-idがわかれば、cssでdisplay: noneするだけじゃないかなぁと思います。
page-idはhtmlのソースを見てもわかりますし、その個別ページの編集画面でアドレスにも表示されます。おそらく特定の固定ページ何かするという質問自体は過去のトピックにもいくつかあると思うのでそれらを参照してみて下さい。
cssでdisplay:noneだと目的のページが複数あればいくつも書かないといけないのでjQueryでも良いかなと。もちろんheader.phpあたりのget_template_part(‘navi’)をif文で条件分岐しても良いかと。
参考:
http://elearn.jp/wpman/function/is_page.html
http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/is_pagejqueryの場合 サンプル例 | jsFiddleを参考に、子テーマjavascript.jsに追記します。
-
2015年9月6日 1:08 PM #31986操ゲスト
<?php if(is_page(’42’)): ?> の記述で固定ページ(ID-42)のメニューが消えるのでしょうか??
cssでグローバルナビを消す?
display: noneの前に何て書けばよいのでしょうか?因みにpage-idは「1152」です
-
2015年9月6日 1:15 PM #31987yokudekiruゲスト
page-idは「1152」ならば、header.phpの以下のところを
<?php if (is_navi_visible())://ナビゲーションが表示のとき
get_template_part(‘navi’);//グローバルナビのためのテンプレート
endif; ?>を消して
<?php if(is_page(’1152’)): ?>
<?php if (is_navi_visible())://ナビゲーションが表示のとき
get_template_part(‘navi’);//グローバルナビのためのテンプレート
endif; ?>
<?php endif; ?>とすればいいんじゃないかと思います。
-
2015年9月6日 1:19 PM #31988yokudekiruゲスト
しまった、ふたつ目のコード正しくは
<?php if(!is_page(’1152’)): ?>
<?php if (is_navi_visible())://ナビゲーションが表示のとき
get_template_part(‘navi’);//グローバルナビのためのテンプレート
endif; ?>
<?php endif; ?>です。危ない危ない。
-
2015年9月6日 2:56 PM #31993Hidekichiゲスト
cssだけでも消せるのですが、対象となるページが多くなるとたくさん記述しないといけなくなるので、ひとつとかふたつぐらいならcssで、それ以上ならjQueryなりphpを使う方が簡単ですよと言うことです。
cssなら、
.post-id-xxx #navi { display: none; }
だけです。xxxには、page-idが入ります。
#31988 のyokudekiruさんのコードは、つまり(「! is_page()」なので)、page-idが1152の記事以外で、カスタマイザーでナビの表示を設定している場合は、get_template_part(‘navi’)でnavi.phpを呼び出しますと言う意味合いです。
なので、1152の記事では#naviが消えます。該当記事はnavi.phpを呼び出さないので、結果表示しないということになります。それ以外の記事は表示されます。
header.phpは親テーマをイジることになるかと思うので、カスタマイズとアップデートにそなえてファイル自体をバックアップされておくことをオススメします。
-
2015年9月6日 2:58 PM #31994Hidekichiゲスト
☓ .post-id-xxx #navi { ←なんでやねん(笑)
◯ .page-id-xxx #navi { -
2015年9月6日 3:32 PM #31995操ゲスト
<報告です>
「header.php」
<?php if(is_page(’1152’)): ?>
全ページでメニューが消える「CSS」
.post-id-1152 #navi {
display: none;
}
メニュ消えない -
2015年9月6日 3:34 PM #31996操ゲスト
<訂正>
☓ .post-id-1152 #navi {
◯ .page-id-1152 #navi {
メニュ消えない -
2015年9月6日 4:35 PM #31998Hidekichiゲスト
> <?php if(is_page(’1152’)): ?>
! が抜けてます。それともしかするとですが、クォートが全角かも知れませんので半角で打ちなおして下さい。shift+2か7のシングルでもダブルでもどちらでも良いので、同じクォートで記事IDを囲みます。> メニュ消えない
どのcssのどこ書かれたかにもよるんですけど、消えないのは、そのcssを何かが上書きしているからです。
後から読み込まれるスタイルはそれまでのを上書きします。試しに、firefox、chromeで、F12を押しweb開発環境パネルを開いたら、右側で新しいルール追加します。そこに.page-id-1152 #naviを追加してdisplay:noneと入れて下さい。間違いなく消えます。
次に、headタグのできるだけ最後の方に書かれているcssに書き込むか、Simplicityのcssで、おそらくどこでも使われていないであろうnavに対して書いてみて下さい。
.page-id-1152 nav { display: none; }
-
2015年9月6日 4:47 PM #31999Hidekichiゲスト
ちなみにheader.phpをイジるのであればcssはイジる必要はありません。
メニューを表示したくないページが少ないのであれば、例えば、page-id-20とpage-id-45の記事だけメニューを出したくないとしたら、
.page-id-20 nav, .page-id-45 nav { display: none; }
もし、もっとたくさんのページで表示したくないなら、header.phpの該当部分で
<?php // is_pageの前に ! をお忘れなく // htmlのタグを挟まないので {}で書いた方が読みやすいと思います。 // is_page( array(...) )は複数のページがある場合です。 // ひとつだけなら、yokudekiruさんのサンプルと同じ書き方でok if ( ! is_page( array("20","45") ) ) { if (is_navi_visible() { get_template_part('navi'); } } ?>
文字が実体化しているのは、その内わいひらさんが直してくれると思いますが、クォートです。
-
2015年9月6日 4:48 PM #32000Hidekichiゲスト
うぉ、せっかくインデントやら入れてたのにcodeいれるの忘れてた(笑)
-
2015年9月7日 7:04 PM #32058操ゲスト
X <?php if(!is_page(’1152’)): ?>
◯ <?php if(!is_page(‘1152’)): ?>
クォート(?)が全角→半角の間違いでした
コピペ専門なため気づきませんでした、有難うございます子テーマCSSに書いた
.page-id-1152 nav {
display: none;
}
上手く行きませんバージョンアップ毎にheader.phpへ記述するしかなさそうです
-
2016年3月9日 8:15 PM #37321ロンゲスト
とても勉強になっております。
ありがとうございます。> 特定の固定ページだけ別メニューを表示することは可能でしょうか
できますが、別メニューを読み込むための仕組みが必要です。とありますが、
INFOPLATE5WPを使っていて、
私もなんとかこれを実現したいと考えています。いろいろと検索しているのですが、
どうしていいかどうしてもわかりません。これはかなり大掛かりになるのでしょうか?
-
2016年3月9日 9:12 PM #37329わいひらキーマスター
別メニューを表示させるには、テンプレートファイルを編集してPHPコードを書く必要があります。
なので、CSSだけのカスタマイズと比較すれば、大掛かりといえば大掛かりかもしれません。
最低限以下のようなことはしないといけないです。
WordPressのカスタムメニューを使用してナビゲーションを作成する|Wordpressでビジネスサイトをつくろう【第11回】 | HTML5でサイトをつくろう -
2016年3月9日 11:06 PM #37333ロンゲスト
わいひらさん
ご回答ありがとうございます。
カスタムメニューを使って、
グローバルメニューを非表示にして、
新しくカスタムメニューで作ったものを表示させました。header.phpで、
どこのページに表示させるかは条件分岐で指定しました。ただ、CSSの装飾ができていないせいで、
文字だけで、しかも次に様な感じで、
縦に並びます。・あああああ
・いいいいい
・うううううheader.phpで、
条件分岐でカスタムメニューで
設定したメニューを表示させることまでは判りました。固定ページごとに、
グローバルメニューを切り替える場合は、
この様にすればいいのでしょうか?
それとも、もっと他の方法がいいのでしょうか?それにしてもCSSの設定など、
私には知識がなくて判りません。この辺りを外注でやって頂く事は出来ないでしょうか?
もしよろしければ、
メール頂けたら有り難いのですが。大変にお手数おかけしますが、
どうぞよろしくお願いいたします。 -
2016年3月10日 5:44 PM #37349わいひらキーマスター
申し訳ないですが、自分の仕事で手一杯で、外注の仕事などは受ける余裕がありません。
こういったカスタマイズの依頼などは、クラウドソーシングサービスなどに依頼することをおすすめします。
http://wp-simplicity.com/reference/crowdsourcing-service/ -
2017年5月12日 11:25 PM #52459Kゲスト
何点か質問です。
1、Googleアドセンス広告がグローバルナビにのり、グローバルナビが幅広くなっていまうのと、サイドバーのGoogleアドセンス広告がその都度サイズ変更するためカテゴリーなどの間に広告がでてしまうのですが広告の張り方がおかしいのですか?
2.見出しの色を変更するのに、子テーマCSSに追加しても反映されず、カスタマイズの追加CSSに追加したら反映されたのですが、何かいじるのはカスタマイズの追加CSSなのでしょうか?またロリポップに契約中ですがロリポップもいじることはありますか?
3.モバイル版でフッター部分にメニューのボタンを表示させたいのですが、反映されません。それは、固定ページなど設定していないからですか?
サイトはhttp://nonbiri-plsu.com/です。Simplicity2を使用していてサイトを参考にしたいのですがなんだかぐちゃぐちゃしています。パソコン初心者です。 -
2017年5月13日 12:48 PM #52462わいひらキーマスター
すいません。
申しわけないのですが、新しい問い合わせの場合は、新しくトピックを立てていただければ幸いです。
https://wp-simplicity.com/suport/topic/first-time/
その方が、同様のトラブルの方が検索しやすいので、ご協力お願いします。
新しくトピックを立てていただければ、そこでお答えしますのでよろしくお願いいたします。
-
-
投稿者投稿
- フォーラム「テーマファイルのカスタマイズに関する質問など」には新規投稿および返信を追加できません。