こんにちは朱夏です。
今回もWordPressテーマ作成の続きをやっていきます。
前回、トップページに投稿記事一覧を読み込むところまで作成しました。
今回はヘッダーに手を置加えていきます。
勉強させていただく動画はこちら。
それではやっていきます。
最初にfunctions.phpの追記をしていきます。
これは、管理画面でヘッダーやフッターの設定を行えるようにするためのものです。
コードはこんな感じになります。
<?php
// サムネイル
add_theme_support(
'post-thumbnails'
);
// メニュー機能
register_nav_menus(
array(
'gloval-navigation' => 'グローバル',
// 'place_sidebar' => 'サイドメニュー',
// 'footer-navigation' => 'フッター',
)
);
?>
メニュー機能の部分が今回追記したものになります。
サイドメニュー、フッターについては、今回使用しないのでコメントアウトしてあります。
これで管理画面の外観に、メニューという項目が表示されるようになりました。
ナビゲーションバーの項目を変更するには、現状だとコードを書き換える必要があるので、管理画面から変更できるようにしていきます。
コードを変更前と変更後で置いておきます。
<変更前>
<!-- タイトルとナビゲーション -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<div class="col-md-8 col-12">
<h2 class="h1 py-3 text-light">My Theme</h2>
</div>
<div class="col">
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="ナビゲーションの切替">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">ホーム</span></a>
<a class="nav-item nav-link" href="#">プロフィール</a>
<a class="nav-item nav-link" href="#">メニュー</a>
</div>
</div>
</div>
</div>
</nav>
<!-- タイトルとナビゲーション END -->
<変更後>
<!-- タイトルとナビゲーション -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<div class="col-md-8 col-12">
<h2 class="h1 py-3 text-light">My Theme</h2>
</div>
<div class="col">
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="ナビゲーションの切替">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<?php
$defaults = array(
'menu_class' => 'navbar-nav',
'container' => false,
'link_before' => '<span class="text-light nav-item nav-link">',
'link_after' => '</span>',
'theme_location' => 'gloval-navigation',
);
wp_nav_menu( $defaults );
?>
</div>
</div>
</div>
</nav>
<!-- タイトルとナビゲーション END -->
コードを変更したら、管理画面からの操作になります。
手順は以下です。
-
- 外観>メニュー を選択
- メニュー名(任意)を入力
- 「メニューを作成」を押下
- メニュー項目を追加の「カテゴリー」を展開
- 必要な項目にチェック
- 「メニューに追加」を押下
- メニュー構造>メニュー設定>メニュー位置>グローバル にチェック
- 「メニューを保存」を押下
1.外観>メニュー を選択
メニュー管理画面を表示します。
2.メニュー名(任意)を入力
表示させるメニューバーに任意の名前を付けます。
ここでは「ナビゲーションバー」と名前を付けました。
3.「メニューを作成」を押下
ナビゲーションバーという名前のメニューが作成されます。
これは”枠”が出来たというイメージです。

4.メニュー項目を追加の「カテゴリー」を展開
メニューに表示させる項目を選択するために、「カテゴリー」を展開します。
5.必要な項目にチェック
メニューに表示させる項目にチェックを付けます。
ここでは、カテゴリー内の全てにチェックを入れています。
6.「メニューに追加」を押下
チェックを入れたものが、ナビゲーションバーに表示する項目に追加されます。

7.メニュー構造>メニュー設定>メニュー位置>グローバル にチェック
このナビゲーションバーを「どこに」表示させるかを選択するチェックです。
コードでヘッダーにグローバルナビゲーションを表示する様に書いているので、グローバルにチェックを入れます。
8.「メニューを保存」を押下
作成したメニュー「ナビゲーションバー」の設定を保存します。

以上でメニューの設定は完了です。
結果を確認してみます。

HTMLで書かれていたメニュー項目が、管理画面から設定したカテゴリーにちゃんと書き換わりました。
というわけで、今回はナビゲーションバーをWordPress対応していきました。
1つ目を作った時はこの辺りの作業は分割後にやっていたのですが、分割前にやった方がタブの切替などが発生せずスムーズに作業できるので良いかもしれません。
今回は大きな躓きもなく思った通りに実装出来ました。
自分の理解度が多少上がったのと、動画で学習するのがやはり解りやすいですね。
動画をトレースして作業していけば、うまくいかなかった時に、自分がどこで間違えているか辿りやすいので、これから学習するって人にはガチでお勧めです。
今回はここまでです。
次回もよろしくお願いします。
