WordPressのよく使うテンプレートタグをまとめてみました。
共通系
テーマファイルのURIを取得する
テーマファイルのURIを取得します。
<?php echo get_theme_file_uri(); ?>
ホームページのURLを表示する
サイトのホームページURLを出力します。
<?php echo esc_url(home_url('/')); ?>
サイトの名前を表示する
サイトの名前を出力します(通常はheader.php
で使用)。
<?php bloginfo('name'); ?>
文字セットを表示する
サイトの文字セットを出力します。
<?php bloginfo('charset'); ?>
サイトの言語を表示する
サイトの言語を出力します。
<?php bloginfo('language'); ?>
bodyタグにクラスを追加する
bodyタグに自動でクラスを追加します。
<?php body_class(); ?>
投稿にクラスを追加する
投稿にクラスを追加します(例:single.php
、page.php
)。
<?php post_class(); ?>
サイトの説明を表示する
サイトの説明(タグライン)を出力します。
<?php bloginfo('description'); ?>
テンプレート読み込み系(+α)
ヘッダーテンプレートを読み込む
ヘッダーテンプレート(header.php
)を読み込みます。
<?php get_header(); ?>
フッターテンプレートを読み込む
フッターテンプレート(footer.php
)を読み込みます。
<?php get_footer(); ?>
サイドバーテンプレートを読み込む
サイドバーテンプレート(sidebar.php
)を読み込みます。
<?php get_sidebar(); ?>
指定したテンプレートパーツを読み込む
特定のテンプレートパーツ(例:part-name.php
)を読み込みます。
<?php get_template_part('part-name'); ?>
検索フォームを表示する
検索フォーム(通常はsearchform.php
)を表示します。
<?php get_search_form(); ?>
コメントテンプレートを読み込む
コメントセクション(comments.php
)を読み込みます。
<?php comments_template(); ?>
投稿系
投稿のタイトルを表示する
投稿のタイトルを出力します(例:single.php
、page.php
)。
<?php the_title(); ?>
投稿の本文を表示する
投稿の本文を出力します。
<?php the_content(); ?>
投稿の抜粋を表示する
投稿の抜粋を出力します。
<?php the_excerpt(); ?>
アイキャッチ画像を表示する
投稿のアイキャッチ画像を出力します。
<?php the_post_thumbnail(); ?>
投稿のカテゴリーを表示する
投稿に関連付けられたカテゴリーを出力します。
<?php the_category(); ?>
投稿のタグを表示する
投稿に関連付けられたタグを出力します。
<?php the_tags(); ?>
投稿の時間を表示する
投稿の公開時間を出力します。
<?php the_time(); ?>
投稿の日付を表示する
投稿の公開日を出力します。
<?php the_date(); ?>
投稿者の名前を表示する
投稿者の名前を出力します。
<?php the_author(); ?>
投稿のIDを表示する
投稿のIDを出力します。
<?php the_ID(); ?>
投稿のパーマリンクを表示する
投稿のパーマリンク(URL)を出力します。
<?php the_permalink(); ?>
アイキャッチ画像のURLを取得する
アイキャッチ画像のURLを取得します。
if ( has_post_thumbnail() ) :
$thumbnail = get_the_post_thumbnail_url( get_the_ID(), 'medium');
else :
$thumbnail = get_template_directory_uri() . '未設定の場合に表示する画像';
endif;
すべてのカテゴリーを表示する
投稿に関連付けられたすべてのカテゴリーを出力します。
$categories = get_the_category();
foreach($categories as $category) {
echo '<span>'.$category->name.'</span>';
}
最初のカテゴリーのみを表示する
投稿に関連付けられた最初のカテゴリーのみを出力します。
$category = get_the_category();
echo '<span>'.$category[0]->name.'</span>';
ナビゲーションとリンク
次の投稿へのリンクを表示する
次の投稿へのリンクを出力します。
<?php next_post_link(); ?>
前の投稿へのリンクを表示する
前の投稿へのリンクを出力します。
<?php previous_post_link(); ?>
次のページへのリンクを表示する
次のページへのリンクを出力します(例:アーカイブページ)。
<?php next_posts_link(); ?>
前のページへのリンクを表示する
前のページへのリンクを出力します。
<?php previous_posts_link(); ?>
ナビゲーションメニューを表示する
カスタムナビゲーションメニューを出力します。
<?php wp_nav_menu(); ?>
条件判断系
トップページかどうかを判断する
<?php if ( is_home() || is_front_page() ) : ?>
<!-- ここにトップページの場合のみやりたい処理 -->
<?php endif; ?>
個別の投稿ページかどうかを判定する
個別の投稿ページ(single.php
)であるかを判定します。
is_singular()
単一の投稿ページかどうかを判定する
単一の投稿ページ(single.php
)であるかを判定します。
is_single()
固定ページかどうかを判定する
固定ページ(page.php
)であるかを判定します。
is_page()
特定のページテンプレートが使用されているかを判定する
特定のページテンプレートが使用されているかを判定します。
is_page_template()
アーカイブページかどうかを判定する
アーカイブページ(例:カテゴリー、タグページ)であるかを判定します。
is_archive()
特定のカテゴリーページかどうかを判定する
特定のカテゴリーページであるかを判定します。
is_category()
タグのアーカイブページかどうかを判定する
タグのアーカイブページであるかを判定します。
is_tag()
タクソノミーのアーカイブページかどうかを判定する
特定のタクソノミーのアーカイブページであるかを判定します。
is_tax()
作成者のアーカイブページかどうかを判定する
作成者のアーカイブページであるかを判定します。
is_author()
日付に関連するアーカイブページかどうかを判定する
日付に関連するアーカイブページ(例:年別、月別アーカイブ)であるかを判定します。
is_date()
404エラーページかどうかを判定する
404エラーページであるかを判定します。
is_404()
複数ページにまたがっているかどうかを判定する
複数ページにまたがる投稿やアーカイブであるかを判定します。
is_paged()
管理パネルが表示されているかどうかを判定する
WordPressの管理パネルが表示されているかを判定します。
is_admin()
ユーザーがログインしているかどうかを判定する
ユーザーがログインしているかを判定します。
is_user_logged_in()
カスタムフィールド(Advanced Custom Fields)用
カスタムフィールドの値を表示する
カスタムフィールドの値を出力します(例:single.php
、page.php
)。
<?php the_field(); ?>
カスタムフィールドの値を取得する
カスタムフィールドの値を取得します。
<?php get_field(); ?>
CSSに書く系
スタイルシートでテーマ名を指定する
スタイルシート内でテーマ名を指定します。
@charset "utf-8"; /* Theme Name: ここにテーマ名 */
ループ系
メインクエリループ
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
<!-- ここに処理を書く -->
<?php endwhile; endif; ?>
サブクエリループ
<?php
$args = array(
'post_type' => 'posttype',
'posts_per_page' => ,
);
$posttype_query = new WP_Query( $args );
if ( $posttype_query->have_posts() ): while ( $posttype_query->have_posts() ):
$posttype_query->the_post(); ?>
ここに処理を書く
<?php endwhile; endif; wp_reset_postdata(); ?>
サブクエリループのターム指定
'tax_query' => array (
array (
'taxonomy' => '$taxonomy-slug',
'terms' => '$term-slug',
'field' => 'slug',
),