ヘッダー、サイドバーと来たら、最後はサイトの土台を締めくくる**footer.php**です。
footer.phpは単にコピーライトを表示するだけでなく、WordPressがJavaScriptを読み込んだり、管理バーを表示したりするための「仕上げ」のコードを実行する非常に重要な役割を持っています。
それでは、**「正しく閉じるためのfooter.phpの作り方」**をまとめます。
footer.phpの役割は、header.phpで開いたタグ(<body>や<html>など)を適切に閉じ、サイト共通のフッター情報を表示することです。
1. footer.php の基本構造(全体像)
最もシンプルかつ標準的な構成は以下の通りです。
PHP
<footer class="site-footer">
<div class="container">
<?php if ( is_active_sidebar( 'footer-widget' ) ) : ?>
<div class="footer-widgets">
<?php dynamic_sidebar( 'footer-widget' ); ?>
</div>
<?php endif; ?>
<div class="copyright">
<p>© <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?>. All Rights Reserved.</p>
</div>
</div>
</footer>
<?php wp_footer(); ?>
</body>
</html>
2. 絶対に忘れてはいけない wp_footer()
header.phpにおけるwp_head()と同様に、wp_footer()は必須中の必須タグです。
- 役割:
</body>タグの直前に記述します。 - なぜ必要か?: 多くのプラグインやWordPress本体のJavaScriptは、この場所でコードを出力します。これがないと、プラグインが動かない、解析タグが反映されない、ログイン中の管理バーが表示されないといった不具合が発生します。
3. コピーライトの動的表示
コピーライトの年号を 2024 のように直書きすると、毎年更新する手間が発生します。PHPを使って自動化するのがスマートです。
echo date( 'Y' );: 現在の西暦を自動で出力します。bloginfo( 'name' );:functions.phpの説明でも出た、サイトタイトルを表示する関数です。
4. フッターメニューの追加(応用)
フッターにもナビゲーションを置きたい場合は、functions.phpでメニューを登録した上で、以下のように呼び出します。
PHP
<nav class="footer-navigation">
<?php
wp_nav_menu( array(
'theme_location' => 'footer-menu',
'container' => false,
'depth' => 1, // フッターは階層を深くしないことが多い
) );
?>
</nav>
全パーツの組み立て:index.php での合体
これで header.php, sidebar.php, footer.php という3つの主要パーツが揃いました。これらを1つのページとして機能させるために、index.php で以下のように呼び出します。
PHP
<?php get_header(); ?>
<div class="content-wrapper">
<main class="main-content">
</main>
<?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>
ポイント:
get_header(),get_sidebar(),get_footer()という専用の関数を使うことで、WordPressは自動的に各ファイルを探して読み込んでくれます。
最後に:footer.php を作る際のチェックリスト
- タグの整合性:
header.phpで始めた<body>や<div id="page">などのタグが、footer.phpですべて正しく閉じられているか確認しましょう。 - wp_footer() の位置: 必ず
</body>の直前にありますか?
次のステップ:いよいよ記事を表示させましょう!
外枠(ヘッダー・サイドバー・フッター)は完成しました。今の状態だと、サイトの真ん中がまだ空っぽです。
次は、WordPress自作テーマの核心である**「メインループ(記事をデータベースから取得して表示する仕組み)」**の書き方をマスターしましょう。



