前回からいよいよテーマの見た目ではなく、「機能」を充実させる段階に入り、「アイチャッチ設定機能」と「functions.phpの説明」をしました。
functions.phpはここからずっと出てくるものなので、もし良く分かってないよ。。って人は前回の記事の説明を見ておくと良いかもです。
アイチャッチ設定機能を追加する過程で、functions.phpが何なのか、どう使うのか、が分かるようになってます。
[clink url=”https://www.namalog.org/wordpress-mytheme-5/”]
今回は、サイト全体を通して上部に表示する「メニューバー」をWordpress仕様に変えていきます。
メニューバーの現状
現状でもしっかりと表示はされているメニューバーですが、Wordpress上では編集できません。
というのも、これはただコードで打ったものなので、そもそもWordpressでは認識されないんですね。
![](https://www.namalog.org/wp-content/uploads/2020/05/8e3f9d1723224f0d50d198a4803de157-1024x448.png)
それどころか、現時点では以下の画像のようなメニューバー編集画面すら表示されません。
![](https://www.namalog.org/wp-content/uploads/2020/05/b7ae847fd9d677b957ac57ce6dfdc4b9.png)
今回はBootstrap4を使用
さらに今回は、bootstrap4を活用したデザインをしていきます。
bootstrap4って何?という方もいると思いますが、まだ記事が無いので簡単な説明だけ、、ごめんなさい。
bootstrap4は本来結構めんどくさいレスポンシブデザインやその他便利機能、カッコいいデザインを簡単に搭載できるものです。
今回はこれを活用しつつ記事一覧を作っていきます。
そのためにはPHPコード内でbootstrap4を使うことが必要なんですが、それも含めて説明していきますね。
事前準備
メニューバーの項目になるカテゴリーを作ろう
まずは、メニューバー設定機能を追加する前にメニューバーに表示するためのカテゴリーを作っておきましょう。
ダッシュボードの「投稿」から「カテゴリー」を選んでクリックします。
![](https://www.namalog.org/wp-content/uploads/2020/05/6c9faff8cccb63b6290434333839dc82-1024x583.png)
その後、カテゴリーを登録しましょう。
今回は元々コードで書いていたのと同じメニューバーを作るので、カテゴリー名も同じにします。
※「Home」だけはメニューバー設定時に自動で用意されているので、カテゴリーを作る必要はありません。
![](https://www.namalog.org/wp-content/uploads/2020/05/a26b4a51d23eb86e9e5c11f27a26f1d2-1024x474.png)
PHPコード内でbootstrap4を使えるようにしよう
こちらはファイルをダウンロードし、そのファイルを読み込むコードをfunctions.phpに追加して使えるようにします。
まずはこちらのURLからファイルをダウンロードします。
※リンク先のClone or downloadから、Download ZIPを選択すればダウンロードできます。
![](https://www.namalog.org/wp-content/uploads/2020/05/66c19942ab4ba346fdb64ccc04cde373-1024x549.jpg)
ダウンロードできたら、中に入っているphpファイルをテーマが入っている場所にコピペしておきます。
![](https://www.namalog.org/wp-content/uploads/2020/05/44d29d2792be3bad9a9ed98c7bbb20d6.jpg)
次にfunctions.phpを開き、下記のコードを、セットアップ時に処理させるまとまりの中に追加入力します。
//以下を入力 require_once('bs4navwalker.php'); //PHPでBootstrap4を使うのに必要
これで、PHP内でコードを使う準備も完了です。
メニューバー設定画面を追加しよう
では、メニューバー設定を行う画面を追加していきましょう。
functions.phpを開き、下記のコードを、セットアップ時に処理させるまとまりの中に追加入力します。
//以下を入力 add_theme_support( 'menus'); //メニュー機能をON register_nav_menus(array( // 「メニューの位置」を追加 'main-menu' => 'メインメニュー', ));
これで、メニューバー設定機能がONになり下記のようにメニューバー設定を行う画面が表示されます。
![](https://www.namalog.org/wp-content/uploads/2020/05/b7ae847fd9d677b957ac57ce6dfdc4b9.png)
「メニューの位置を追加」との説明があるコードは、以下のようなメニューバー設定画面でメニューバーをどこに表示するかの選択肢を登録するコードです。
![](https://www.namalog.org/wp-content/uploads/2020/05/e2d26a0ab18a5ed6cef15bef80eac654-1024x454.png)
選択肢は下記のように自由に追加できますので、必要であればやってみてくださいね。
register_nav_menus(array( // 「メニューの位置」を追加 'main-menu' => 'メインメニュー', 'sub-menu' => 'サブメニュー', //以下、上記のように複数登録可 ));
さて、これでもうメニューバー設定機能は使えるようになったので早速メニューバーを設定してきましょう。
メニューバーを設定しよう
「外観」→「メニュー」と進んでメニューバー設定画面を開いたら、メニューバーを作っていきます。
![](https://www.namalog.org/wp-content/uploads/2020/05/60ed07f82964b96fa56abb24d0840fc0-1024x467.png)
もちろん、メニューバーの表示場所もしっかり選んでおきます。
![](https://www.namalog.org/wp-content/uploads/2020/05/e2d26a0ab18a5ed6cef15bef80eac654-1024x454.png)
最後に右下の「メニューを保存」という青いボタンを押して、設定は完了です。
header.phpのメニューバーのコードを書き直そう
さて、これでメニューバーは出来ましたが、ヘッダーにはまだそれを表示するためのコードが書かれていません。
header.phpを開いて、ヘッダー部分のコードを以下のコードに置き換えましょう。
//メニューバーのここから、、 <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav ml-auto"> <!-- mr-autoで右寄り、ml-autoで左寄り --> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Services </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link" href="#" >Team</a> </li> <li class="nav-item"> <a class="nav-link" href="#" >Connect</a> </li> </ul> </div> //ここまでを以下に置き換え //以下に置き換え <?php wp_nav_menu([ //メニューを表示する処理。内部は表示の細かいオプションのようなもの 'menu' => 'top', //お好きな名前. 'theme_location' => 'main-menu', //functions.phpの「メニューの位置を追加」で指定した名前. 'container' => 'div', 'container_id' => 'bs4navbar', 'container_class' => 'collapse navbar-collapse', //必要 'menu_id' => 'navbarSupportedContent', 'menu_class' => 'navbar-nav ml-auto', //必要。mr-autoで右寄り、ml-autoで左寄り 'depth' => 2, 'fallback_cb' => 'bs4navwalker::fallback', 'walker' => new bs4navwalker() ]); ?>
これでOKです。ページを表示してみましょう。
しっかりメニューバーが反映されてますね。
![](https://www.namalog.org/wp-content/uploads/2020/05/ca7c93eb8077efbe282d8c948b62d2e4-1024x450.png)
試しにメニューバーをまたいじってみます。
![](https://www.namalog.org/wp-content/uploads/2020/05/e27bc2702978fa0f8ce12108a7fa1348-1024x460.png)
確認すると、しっかり反映できてますね。
![](https://www.namalog.org/wp-content/uploads/2020/05/c29f54b4c0c02a56b90977c2e5baafd7-1024x471.png)
まとめと次回予告
どうだったでしょうか。
今回は前回のアイチャッチ設定機能に続いて、メニューバー設定機能を追加しました。
いよいよそれっぽくなってきたんじゃないでしょうか。
次回はついに、Wordpressの代名詞ともいえる記事一覧ページを追加していこうと思います。
次の記事↓
[clink url=”https://www.namalog.org/wordpress-mytheme-7/”]
では今回はここまで。
これからも引き続き、ズボラな人に特化して資産形成、副業、転職に関する内容を発信していきます!
SNSやYouTubeでも発信しているので、よかったらフォロー、チャンネル登録よろしくお願いします!!
\ 日常です笑/
\ 現状日常Vlogです笑/
\ 趣味です笑 /
\ 役に立つ内容をまとめてます! /