archive

一つのWordPressで複数のヘッダーを使い分ける


一つのWordpressで複数のヘッダーを使い分けたい時のやり方をメモ。

「Conditional Menus」というプラグインを使って複数ヘッダーを用意する方法と、プラグインを使わず、新しくheader.phpを用意して作成していく方法と、二つ解説していく。

プラグインを使って複数ヘッダーを追加する場合

**「Conditional Menus」**というプラグインによって、複数ヘッダーを追加することができる。

プラグインに追加し、有効にする。

「外観>メニュー」に移動し、「メニューを編集」タブの横にある「位置を管理」を押すと下記のような管理画面に映る。

ここで用意したもう一つのメニューを選択し、「+Condition」を押すと、どこのページでもう一つのメニューを表示させたいかを設定することができる。

別メニューを用意するやり方は、「外観>メニュー」の「メニューを編集」タブで、「新しいメニューを作成しましょう」というリンクから作成できる。

新しいメニューの作成

固定ページ毎に設定することもできるし、あるカテゴリーだけメニュー2を表示させる、ということもできる。

以上がプラグインを使った複数ヘッダーメニューを表示させる方法となる。

次はプラグインなしの方法を解説する。

プラグインなしで複数ヘッダーを追加する場合

ステップととしては下記のようになる。

  1. 新たなヘッダーファイルを用意する
  2. 「外観>メニュー」で新たなメニューを作成
  3. function.phpでメニューの位置を登録
  4. 新たなヘッダーページで、メニュー名を入れる
  5. 新しいヘッダーを表示したいページにあてはめる

1.新たなヘッダーファイルを用意

ヘッダーの数の分だけ固定ページ用のテンプレートを用意。名前は”header-〇〇”という形で好きな名前を入れて良い。

今回は日本語メニューの準備のため、header-jpという名前で新しいヘッダーファイルを用意。

2.「外観>メニュー」で新たなメニューを作成

自分の好きなもう一つのメニューを作る。

3. function.phpでメニューの位置を登録

下記のコードをfunction.phpに入れる。ステップ2で作成したメニュー名をfunction.phpに加える。

`//メニューの位置を登録
register_nav_menus ( array (
        'gnav' => 'グローバルメニュー',
        'jp-menu' => '日本語メニュー',
));`

すると下記のような部分ができるので、ここで自分が新しく作ったメニューの位置を選ぶ。デフォルトで設定したいメニューはナビゲーションに設定する。

4. 新たなヘッダーページで、メニュー名を入れる

ナビゲーションメニューを表示するためには下記のコードを入れる必要がある。

wp_nav_menの部分で、自分が決めたメニュー名を加える。今回の例なら、header-jp.phpのファイルの中で、“jp-menu”を〇〇の中に加えた。

`//ナビゲーションメニューを表示
<?php
  wp_nav_menu( array(
    'theme_location' => 'jp-menu'
  ) );
?>`

5. 新しいヘッダーを表示したいページにあてはめる

最後に、新しいヘッダーを表示させたいページのget_headerの()の中に、header-〇〇.phpでつけた〇〇の部分を入れる。今回の例ならheader-jp.phpのjpを当てはめる。

`<?php get_header('jp'); ?>`

すると、分かれて表示されるようになる。

<php get_header() ;?>とは

<php get_header() ;?>は「インクルードタグ」と呼ばれるもので、header.phpのヘッダーコードを別ファイルで呼び出す際に、使うタグ。

フッターも同じように<php get_footer() ;?>を使って呼び出すことができる。

これらのタグはwordpressで自作テーマを作成するときに必ず使うので、覚えておくと良い。

インクルードタグの説明含む、自作テーマの作成については、下記にまとめた。

以上がプラグインを使わない方法になる。

ヘッダーについてあれこれ

ヘッダーについてこちらも参考になるかも。

 
  記事一覧  
 

   

  • [CSS] ヘッダーを固定する
  •    
  • [jQuery] ある高さまでスクロールした時にヘッダーの色をかえる。
  •    
  • [jQuery]ポップアップで出てくるメニュー、「モーダル」を作成する
  •    
  • [CSS]ロゴを左に、メニューを右に横並びに配置するヘッダーを作成
  •  

    下記に、HTMLとCSS、Javascriptを使ったwebサイトの作り方についてまとめた。

    ワードプレスの使い方については、下記にまとめた。