フロントページのヘッダーを変える方法 | SkillhubAI(スキルハブエーアイ)

フロントページのヘッダーを変える方法

このページはポートフォリオ作成課題の補足、レベルアップ版です。 必ず作る必要はありませんので、余裕のある方・WordPressタグの扱いに慣れてきたときに試してみて下さい。

フロントページのヘッダーを分ける方法

ここまでのレッスンではfront-page.phpはヘッダー部分をテンプレート分けせず、そのまま使用しました。 テンプレートファイルに分けるには2つの方法があります。

  • A:header.phpに条件分岐で書く
  • B:header-front.phpを作成する

A:条件分岐で書く方法

header.phpでフロントページにのみ呼び出す「is_front_page()」を使って条件分岐を作ります。 その中に、表示内容が変わる<div class="collapse">内をそれぞれ記述します。

header.php

---略---
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
  <div class="container d-flex justify-content-between">
    <a class="navbar-brand" href="<?php echo home_url() ?>">DevFolio</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse justify-content-end" id="navbarTogglerDemo02">
    <?php if ( is_front_page() ) : // フロントページだけ表示 ?>
      <!-- index.htmlのコード -->
      <ul class="navbar-nav">
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll active" href="#">Home</a>
        </li>
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll" href="#about">About</a>
        </li>
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll" href="#service">Services</a>
        </li>
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll" href="#work">Work</a>
        </li>
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll" href="#blog">Blog</a>
        </li>
        <li class="nav-item pl-md-4">
          <a class="nav-link js-scroll" href="#contact">Contact</a>
        </li>
      </ul>
    <?php else : ?>
      <!-- wordpressのカスタムメニューをインクルード -->
      <?php wp_nav_menu(
        array(
          //登録したメニュー名使って、呼び出すメニューを指定する
          'theme_location' => 'header-navigation',
          'menu_class' => 'navbar-nav',
        )
      ); ?>
    <?php endif; ?>
    </div>
  </div><!-- .container -->
</nav>

B:header-front.phpを作る方法

foront-page.phpの</header>タグまでをカットして新規ファイルに貼り付けます。 張り付けたファイルをheader-front.phpという名前で保存します。

front-page.phpの最上部に下記インクルートタグを挿入します。

<?php get_header('front'); ?>