MEDIAWordPressアドセンスSearchConsoleアナリティクスレンタルサーバードメインWordPressにカスタムメニューを表示するための機能追加方法2020.02.04WordPress使い方WordPress関数HOMEWordPressWordPress使い方WordPressにカスタムメニューを表示するための機能追加方法WordPressにはカスタムメニューという機能があります。カスタムメニューはナビゲーションメニューとも呼ばれていますが、WordPressではどちらもメニュー機能のことを言います。WordPressテーマを自作した場合は、自分でカスタムメニューをテーマに機能追加する必要がありますし、使用するWordPressテーマによってはカスタムメニュー機能が追加していない場合があります。どちらにしてもカスタムメニューに必要な関数やテンプレートタグを使用して追加と表示ができるのでカスタムメニューの機能追加と表示方法を紹介します。カスタムメニューをwp_nav_menuで表示WordPressのカスタムメニューを表示するまでの流れWordPressのカスタムメニューを表示するまでの流れをはじめにざっくりと把握してみてください。カスタムメニューをWordPressに表示するには、カスタムメニューのテーマ機能を有効にする必要があります。これがカスタムメニューの追加です。そのために必要な流れが以下です。menusというWordPressの関数でカスタムメニューの機能を有効にするそしてwp_nav_menuでWordPressサイトにカスタムメニューを表示する。カスタムメニュー機能の追加も表示もどちらもWordPressの関数とテンプレートタグを使用してパラメータでカスタムメニューを自サイトに合わせてカスタマイズしていきます。menus」というWordPressで用意されている関数を使用します。2つの関数のどちらかを使うことにより、まだカスタムメニューが有効になっていなく使用できていないWordPressテーマの管理画面の外観には「メニュー」が追加できます。menus」でカスタムメニューの追加をしていく方法を一つずつ説明していきます。menu」は1つのカスタムメニューを管理画面のメニューで設定できるように登録できます。);上のコードはサイトのヘッダーにグローバルメニューの実装を目的としたカスタムメニューに追加をする場合の方法です。WordPressテーマのfunctions.phpに記述し保存することで、ワードプレスの管理画面の外観には「メニュー」が追加されているのが確認できます。menu」はカスタムメニューを一つしか登録できないので、ヘッダー以外、フッターやサイドバーにもカスタムメニューを複数追加したい場合は以下のようにコードを記述してfunctions.phpに貼り付けます。フックしてカスタムメニューの呼び出すタイミングにする方法でも大丈夫です。そのコードが以下のコードです。menu」をafter_setup_themeにフックしてafter_setup_themeが処理を実行するタイミングでカスタムメニューの処理が始まります。Advertisementinitでフックすることもできるようですがafter_setup_themeアクションはfunctions.phpが呼び出された直後に実行され、その後でinitアクションが実行されるので順番からするとafter_setup_theme()でフックした方法のほうが良いかと思います。menu」でカスタムメニューを追加するときに使うパラメータの使い方も説明します。menuのパラメータ「$location(ロケーション)」はメニュー位置の識別子です。$locationに’header-navi’とした場合にはWordPressの管理画面に機能追加したメニューでカスタムメニューをサイトに表示する位置選択のときにheader-naviが識別されます。menuのパラメータ「$description(ディスクリプション)」はメニュー説明です。$descriptionに’ヘッダーナビゲーション’にすると、管理画面に機能追加したメニューでカスタムメニュー設定のメニュー位置を決めるチェックボックスの横にヘッダーナビゲーションの説明が表示されます。これがメニュー説明です。menu」はカスタムメニューを一つしか登録できないため、ヘッダーとフッターの2つのカスタムメニュー(複数)を追加したい場合は、以下のコードのようにパラメータもそれぞれの$locationと$descriptionにします。menu」関数でヘッダーとフッターに表示できるように機能追加した後に管理画面の外観からメニューを開くと、無事にWordPressのテーマ機能としてカスタムメニューの追加ができていることが確認できます。menus」関数を使うことでもテーマ機能の追加ができます。);カスタムメニュー機能の追加方法としては上記のコードのようにregister_nav_menusを配列にして$locationと$descriptionのパラメータを渡します。menuと違い配列形式で複数のナビゲーションメニューをまとめて機能追加ができるので管理も楽かもしれませんね。register_nav_menu()の場合は引数でメニュー登録するのに対してregister_nav_menus()は配列でメニュー登録する上記の違い以外に何かあるとしたら2つの関数名の最後がmenu(単一)かmenus(複数)かの違いだけかと思います。menusのパラメータの使い方も紹介します。連想配列にしているのでregister_nav_menusのパラメータは「$locationをキー」「$descriptionを値」のペアで、それぞれのナビゲーションメニューの「メニューの位置」の情報を指定します。);例えば、カスタムメニューでヘッダーメニューとフッターメニュー、そしてサイドメニューを追加したい場合にはキーと値をそれぞれのメニューセットとして追加しパラメータを増やすことで、簡単に機能の追加ができます。コードだけを見ると分かりづらいかもしれませんが、コードをfunctions.phpに記述して管理画面のメニューを開くと上記画像のようにdescriptionが表示されるので出力されて表示するカスタムメニュー追加のイメージが理解しやすくなります。WordPressに追加したカスタムメニューの表示方法WordPressの関数、register_nav_menuかregister_nav_menusでカスタムメニューを管理画面にテーマ機能として追加したあとには、使用してるWordPressテーマにカスタムメニューを表示します。カスタムメニューを表示する方法はWordPressのテンプレートタグのwp_nav_menuを使用します。?>wp_nav_menuを使用することでサイトのヘッダーやフッター、サイドバーや任意の場所に設定したメニュー表示ができるようになります。wp_nav_menuの詳しい使い方を以下から紹介します。カスタムメニューをwp_nav_menuで表示register_nav_menuかregister_nav_menusでセットしたカスタムメニューを表示できるようにするには以下のようにwp_nav_menuでキーと値をセットにして記述します。‘値’,キーにはwp_nav_menuのtheme_locationの値にregister_nav_menusやregister_nav_menu側で登録したtheme_locationのキーと合わせます。?>上のコードでキーはwp_nav_menuのパラメータの’theme_location’を指定して、値には’header-nav’を指定します。);このとき指定した’header-nav’の指定というのはregister_nav_menusやregister_nav_menu側で登録してあるtheme_location(位置)です。「追加側と表示側の位置を合わせる」と覚えると簡単かもしれません。示す位置へ割り当てられたメニューを表示できます。WordPressのwp_nav_menuに使用するパラメータの使い方そしてwp_nav_menuのコードはカスタムメニューを表示したいテンプレートファイルに貼り付けます。ヘッダーメニューならテーマのheader.phpに、フッターメニューならテーマのfooter.phpに記述します。カスタムメニューの設定を管理画面で操作する手順の記事で紹介している設定の流れでカスタムメニューの構造を作成します。投稿一覧WordPressとWeb関係のことを趣味的に学んでます。独学なので記事で間違ってることがあればご指摘ください。記事が少しでも誰かの参考になればと思います。2019.02.13WordPressを使用してると.htaccessに登場してくるmod_rewriteがあります。2019.11.19あえてwordpressテーマのインストールを失敗してしまう方法を試してみました。2018.10.04WordPressを始めるとパーマリンク設定が必要になります。WordPress.。