質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

495閲覧

ヘッダーナビゲーションメニューを変更したい

smiyuki

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/10/16 12:24

前提・実現したいこと

WordPressの有料テンプレート(sango)を使ってホームページを作成しています。
ヘッダーのナビゲーションメニューをトップページとそれ以外で変更したいです。
以下のコードのどの部分にどういったコードを記載すると良いか教えていただけないでしょうか。

該当のソースコード

php

1<body <?php body_class(); ?>> 2 <div id="container"> 3 <header class="header<?php if(get_option('center_logo_checkbox')) echo ' header--center'; ?>"> 4 <?php if(wp_is_mobile() && is_active_sidebar( 'nav_drawer' )): //ナビドロワー ?> 5 <div id="drawer"> 6 <input type="checkbox" id="drawer__input" class="drawer--unshown" > 7 <label id="drawer__open" for="drawer__input"><i class="fa fa-bars"></i></label> 8 <label class="drawer--unshown" id="drawer__close-cover" for="drawer__input"></label> 9 <div id="drawer__content"> 10 <div class="drawer__title dfont">MENU<label class="close" for="drawer__input"><span></span></label></div> 11 <?php dynamic_sidebar('nav_drawer'); ?> 12 </div> 13 </div> 14 <?php endif; //END ナビドロワー ?> 15 <div id="inner-header" class="wrap cf"> 16 <?php //ロゴまわり 17 $title_tag = (is_home() || is_front_page()) ? 'h1' : 'p'; //トップページのみタイトルをh1に 18 ?> 19 <<?php echo $title_tag;?> id="logo" class="h1 dfont"> 20 <a href="<?php echo home_url(); ?>"><?php $logo = esc_url(get_option('logo_image_upload')); 21 if($logo){ ?><img src="<?php echo $logo; ?>" alt="<?php bloginfo('name'); ?>"><?php } if(!get_option('onlylogo_checkbox')) bloginfo('name'); ?></a> 22 </<?php echo $title_tag;?>> 23 <?php //END ロゴまわり 24 //PC用ヘッダーナビ 25 if(has_nav_menu('desktop-nav')) { 26 echo '<nav class="desktop-nav clearfix">'; 27 wp_nav_menu(array( 28 'container' => false, 29 'theme_location' => 'desktop-nav', 30 'depth' => 2, 31 'fallback_cb' => '' 32 )); 33 echo '</nav>'; 34 } //END PC用ヘッダーナビ ?> 35 </div> 36 <?php //モバイル用ナビ 37 if(wp_is_mobile() && has_nav_menu('mobile-nav')) { 38 echo '<nav class="mobile-nav">'; 39 wp_nav_menu(array( 40 'container' => false, 41 'theme_location' => 'mobile-nav', 42 'depth' => 1, 43 'fallback_cb' => '' 44 )); 45 echo '</nav>'; 46 } //END モバイル用ナビ ?> 47 </header>

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

条件分岐を試してみたのですが、うまくいかなかったため、header.phpの他に、header-index.phpのファイルを設定し、トップページでheader-index.phpを読み込む形で、対応することにしました。
ご回答いただいた皆様ありがとうございました。

投稿2018/10/20 06:53

smiyuki

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

カスタムメニューを新しく作成(PC用とモバイル用2つ)。

php

1if(is_home() || is_front_page()): 2 3//PC用ヘッダーナビから//END モバイル用ナビまで 4 5else: 6 7//PC用ヘッダーナビ2から//END モバイル用ナビ2まで 8 9endif;

これでトップとそうでないときの表示に分けることが出来ます。

投稿2018/10/19 08:44

yamana

総合スコア118

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

smiyuki

2018/10/20 06:47

ご回答ありがとうございました。
guest

0

トップページは、どこのページを指しているのか?
トップページとそれ以外でヘッダをどのように変えるのかわからないので、条件判断の方法だけ記載します。

<header class="header<?php if(get_option('center_logo_checkbox')) echo ' header--center'; ?>"> <?php if ( is_front_page() && is_home() ): ?> // デフォルトホームページの場合のヘッダ <?php elseif ( is_front_page() ): ?> // 固定ペーシを使ったホームページの場合のヘッダ <?php elseif ( is_home() ): ?> // ブログページの場合のヘッダ <?php else: ?> // それ以外の場合のヘッダ <?php endif; ?> </header>

という感じで分けることになります。

詳しくは、https://wpdocs.osdn.jp/条件分岐タグ の「ブログページ」参照。

投稿2018/10/19 08:35

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

smiyuki

2018/10/20 06:50

ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問