17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Wordpress で任意のテンプレート(共通パーツなど)をインクルードする

Posted at

まえがき

ソーシャルボタンとかグロナビとか、Wordpressで最初から定義されていないパーツを
header.php に全て記述するのは個人的にすきじゃないのでにインクルードする事にしていた。
実装するたびに関数何だっけってなって、都度ググってたのでメモする。

インクルードさせるファイルを作る

クライアントにテンプレートファイルを触らせない場合や管理画面上で操作しない場合は、wp_nav_menu(); を使わずに、テンプレートファイルに直接モジュールを記載する。

インクルードするファイルはテーマディレクトリに新たに「inc」フォルダなどを作り、そこで管理した方が、テーマディレクトリ内が見やすくなって個人的には好き。

ファイル名は module.php とする。
今回はグロナビを作るので gnav.php と命名。

/wp-content/themes/example/inc/gnav.php

仮に下記のコードとする。
※今時のサイトでは少ないシンプルな内容だけど、あくまで例なのでご勘弁

gnav.php
<nav class="gnavWrap">
  <ul class="gnav">
    <li class="gnav_item"><a href="#">HOME</a></li>
    <li class="gnav_item"><a href="#">NAV01</a></li>
    <li class="gnav_item"><a href="#">NAV02</a></li>
    <li class="gnav_item"><a href="#">NAV03</a></li>
  </ul>
</nav>

作ったファイルをインクルードする

作成したファイルを header.php などにインクルードする。
コードの埋め込みはテンプレートタグを使う。
作ったファイルをインクルードさせたい箇所に下記を記載。

header.php
<?php get_template_part('inc/gnav'); ?>

php の includeinclude_once を使っても良いとは思うけど、俺は php出来ない君なので Wordpress の恩恵を受けさせてもらう。

参考サイト

WordPress Codex日本語版(関数リファレンス/get_template_part)

17
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?