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.php | 404エラー表示用テンプレート |
テンプレート階層
テンプレートファイルの優先順位
ページの種類 条件分岐タグ | 高い ← 優先度 → 低い | ||||
---|---|---|---|---|---|
フロントページ is_front_page | front-page.php | (* 1) | (* 1) | - | index.php |
ホームページ is_home | home.php | - | - | - |
|
カテゴリー is_category | category-{slug}.php | category-{id}.php | category.php | archive.php | |
タグ is_tag | tag-{slug}.php | tag-{id}.php | tag.php | ||
カスタム分類 is_tax | taxonomy-{taxonomy}-{term}.php | taxonomy-{taxonomy}.php | taxonomy.php | ||
作成者 is_author | author-{nicename}.php | author-{id}.php | author.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}.php | page-{slug}.php | page-{id}.php | page.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.php | shingle-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()?> | 現在の投稿タイプのアーカイブページのタイトルを表示または取得。 カスタム投稿タイプのタイトルを表示。 |