WordPressテーマの最初の整理術|header.phpとfooter.phpを使ってみる

これまでの記事では、index.php にHTMLを直接記述して画面を表示してきました。

しかし、ページ数が増えてくると、すべてのファイルに同じヘッダーやフッターを書くのは大変です。

例えばサイト名を変更したい場合、すべてのファイルを修正しなければならなくなります。

そこでWordPressでは、共通部分を別ファイルとして切り出し、必要な場所で呼び出す仕組みが用意されています。

今回はファイル分割の第一歩として、ヘッダーとフッターを別ファイルに分ける方法を確認していきます。

header.phpの記述

実際にheader.phpの最小構成の記述を以下に示します。

<!DOCTYPE html>

<html <?php language_attributes(); ?>>

<head>

    <meta charset=”<?php bloginfo(‘charset’); ?>”>

    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

    <title><?php bloginfo(‘name’); ?></title>

    <?php wp_head(); ?>

</head>

<body <?php body_class(); ?>>

    <header>

        <h1>ヘッダー部分</h1>

    </header>

これはindex.phpの先頭に記述されていたものを</header>の部分までファイルとして切り分けた形になっています。<body>の閉じタグである</body>が無いのは、全てindex.phpに集約したときに完成するように考えてあるためです。今回の場合はもう一つのfooter.phpに出てきます。

footer.phpの記述

footer.phpの最小構成の記述は以下の通りです。

<footer>

    <h1>フッター部分</h1>

</footer>

<?php wp_footer(); ?>

</body>

</html>

bodyタグを閉じて、最後にhtmlタグを閉じる記述があります。

そして、これらを合わせて呼び出すindex.phpは以下のような記述になります。

index.phpの記述

<?php get_header(); ?>

<main>

</main>

<?php get_footer(); ?>

これだけです。mainタグの間にはページの中身を読み込む記述を書きます。

つまり、headerとfooterに書いていた記述を、そのままphpファイルに移して、get_header(), get_footer()関数で呼び出す記述に置き換えた感じです。

ワードプレスの場合は、テーマの読み込みファイルとして、index.php以外にもpage.phpやsingle.phpなど複数のphpファイルが登場するので、それぞれにheaderとfooterの記述を書いていたら、一か所変更したときに、他のファイルも同様の変更を掛ける必要が出てきます。そんなときに全てgetで呼び出す記述にしておけば、外部ファイル化したheader.phpやfooter.phpを編集するだけで、他の全ページに変更が掛かるので、修正や管理が楽になります。

headerやfooterだけでなく、任意の記述を外部化するtemplate-partという機能もあるので、別の記事で紹介します。

このような共通部分をまとめる機能を使いこなして、ページ管理に役立てて頂ければと思います。