この記事の前提条件
対象: WordPress(テーマファイルの編集ができる環境)
難易度: ★☆☆
所要時間: 約5分
WordPressのテーマファイル(header.php、single.phpなど)を自作・カスタマイズする時によく使う、基本的なテンプレートタグをまとめました。毎回検索し直すのが面倒なので、備忘録として整理しています。
パス・URL関連
テーマ内のCSS・画像・JSファイルを読み込む時など、パスを出力する場面で使います。
<?php echo get_template_directory_uri(); ?>
<!-- テーマディレクトリのURLを出力(例: /wp-content/themes/テーマ名) -->
<?php echo home_url(); ?>
<!-- サイトのトップページURLを出力 -->
<?php the_permalink(); ?>
<!-- 現在の投稿・固定ページのURLを出力 -->投稿の情報を出力
投稿一覧や投稿詳細ページで、記事ごとの情報を出力する時に使います。
<?php the_title(); ?>
<!-- 投稿タイトルを出力 -->
<?php the_content(); ?>
<!-- 投稿本文を出力 -->
<?php the_excerpt(); ?>
<!-- 投稿の抜粋(概要)を出力。一覧ページのカードなどで使う -->
<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>
<!-- アイキャッチ画像が設定されていれば出力する -->
<?php the_date(); ?>
<!-- 投稿日を出力 -->💡 投稿一覧ではループ(have_posts / the_post)の中で使う
上記のthe_title()などは、have_posts()・the_post()で構成される「メインループ」の中でしか正しく動作しません。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; endif; ?>パーツの読み込み
header.php・footer.php・sidebar.phpなど、共通パーツを読み込む時に使います。
<?php get_header(); ?>
<?php get_footer(); ?>
<?php get_sidebar(); ?>
<!-- ファイル名を指定して複数パターンを使い分けることもできる -->
<!-- 例: sidebar-right.php を読み込む場合 -->
<?php get_sidebar( 'right' ); ?>サイト全体の情報を出力
<?php bloginfo( 'name' ); ?>
<!-- サイトのタイトルを出力 -->
<?php wp_head(); ?>
<!-- headタグ内、終了直前に必須。プラグイン等が必要なタグを差し込む場所 -->
<?php wp_footer(); ?>
<!-- bodyタグ内、終了直前に必須。同上、footer側の差し込み -->⚠️ wp_head()とwp_footer()を削除するとプラグインが正常に動かない
この2つは見た目上何も出力しないように見えても、多くのプラグイン(アクセス解析タグの挿入、キャッシュ系プラグインなど)がこのフックを頼りに動作しています。自作テーマで削除・コメントアウトしてしまうと、プラグインの機能が一部動かなくなることがあるため、必ず残しておきましょう。
条件分岐タグ
「トップページの時だけ」「投稿詳細ページの時だけ」のように、表示を出し分けたい時に使います。
<?php if ( is_front_page() ) { /* トップページの時だけ */ } ?>
<?php if ( is_single() ) { /* 投稿詳細ページの時だけ */ } ?>
<?php if ( is_page( 'contact' ) ) { /* スラッグがcontactの固定ページの時だけ */ } ?>
<?php if ( is_category( 'news' ) ) { /* newsカテゴリの一覧ページの時だけ */ } ?>まとめ
- 投稿の情報を出力するタグは、メインループ(have_posts/the_post)の中で使う
- 共通パーツはget_header()/get_footer()/get_sidebar()で読み込む
- wp_head()・wp_footer()はプラグインが動作する土台になるため、必ず残す
- is_front_page()などの条件分岐タグを使えば、ページの種類ごとに表示を出し分けられる
他にもよく使うタグが増えてきたら、この記事に随時追記していきます。
