WordPressテーマファイル基本構造

覚書メモ
Wordpressのテーマを新規作成する時に必要となるファイル構造などのまとめ

テンプレート

基本テンプレートファイル一覧

ページの種類テンプレート概要
テーマ必須ファイルindex.phpテンプレートが存在しない場合など、
最終的に表示されるファイル。
テーマにはこのファイルが必須。
フロントページfront-page-phpサイトのトップページ
ホームページhome.phpブログのトップページ
固定ページpage.php固定ページ用テンプレート
投稿single.php投稿ページ用テンプレート
カテゴリーcategory.phpカテゴリーアーカイブ用テンプレート
タグtag.phpタグアーカイブ用テンプレート
作成者author.php作者別アーカイブ用テンプレート
日付date.php日付ごとのアーカイブ用テンプレート
アーカイブarchive.phpアーカイブ用テンプレート
タクソノミーtaxonomy.phpカスタム分類アーカイブ用テンプレート
検索結果search.php検索結果表示用テンプレート
404(Not Found)404.php404エラー表示用テンプレート

テンプレート階層

テンプレートファイルの優先順位

ページの種類
条件分岐タグ
高い ← 優先度 → 低い
フロントページ
is_front_page
front-page.php

(* 1)

(* 1)

-

index.php
ホームページ
is_home
home.php

-

-

-

カテゴリー
is_category
category-{slug}.phpcategory-{id}.phpcategory.phparchive.php
タグ
is_tag
tag-{slug}.phptag-{id}.phptag.php
カスタム分類
is_tax
taxonomy-{taxonomy}-{term}.phptaxonomy-{taxonomy}.phptaxonomy.php
作成者
is_author
author-{nicename}.phpauthor-{id}.phpauthor.php
日付
is_date,is_day
is_month
is_year
date.php

-

-

アーカイブ
is_archive
is_post_type_archive
archive-{post_type}.php

-

-

検索結果
is_search
search.php

-

-

-

404(Not Found)
is_404
404.php

-

-

-

固定ページ
is_page
is_singular
{customname}.phppage-{slug}.phppage-{id}.phppage.php

(*2)

投稿/カスタム投稿
is_single
is_singilar
single-{post_type}.php

-

-

single.php

(*2)

添付ファイル
is_attachment
is_singular
MIME_type.php
image.php
video.php
audio.php
application.php
attachment.phpshingle-attachment.php
* 1:front-page.phpが存在する場合、管理画面の表示設定、「ホームページの表示」で固定ページを選択してもfront-page.phpが優先される。

*2:固定ページ、投稿ページテンプレートが存在しない場合はsingular.phpが読み込まれる。

テンプレートタグ

一般タグ(良く使用するもの)

タグ使用例備考
get_header()<?=get_header()?>header.phpを出力
get_footer()<?=get_footer()?>footer.phpを出力
get_sidebar()<?=get_sidebar()?>sidebar.phpを出力
get_template_part()<?=get_template_part('$slug')?>
<?=get_template_part('$slug, $name')?>
テンプレートパーツとして読み込む
$slug.php
$slug-$name.php
get_search_form()<?=get_search_form()?>検索フォームを出力
bloginfo()<?=bloginfo( $show )?>サイトの情報を出力させる。
$showの値によって出力内容を変更できる。
デフォルトは'name'でサイトタイトルが出力される。
パラメーター >>
get_bloginfo()<?php $bloginfo = get_bloginfo( $show, $filter ); ?>PHPコード内の他の部分で使用できるようにサイトに関する情報を返す。
<?php $sitetitle = get_bloginfo( 'name' ); ?>
<?=$title?>
wp_title()<?=wp_title( $sep, $display, $seplocation )?>現在のページのタイトルを表示または取得する。
ex):
<title><?=wp_title('--',true,'right')?><?=bloginfo('name')?></title>
現在のページタイトル|サイトタイトル
single_post_title()<?=single_post_title()?>個別記事ページでループ外に記事のタイトルを出力する。
post_type_archive_title()<?=post_type_archive_title()?>現在の投稿タイプのアーカイブページのタイトルを表示または取得。
カスタム投稿タイプのタイトルを表示。
*まだまだ書きかけのページです。 本人の都合でどんどん増えてゆきます。