WordPress ページ別テンプレート階層 template page

http://www.mdn.co.jp/di/articles/2782/?page=8
—-
優先度 高い <–> 低い
<基底ページ> index.php

<ホームページ(TOP)> front-page.php – home.php
※ [表示設定] – [フロントページの設定] で
[最新の投稿]の場合: front-page.php – home.php
[固定ページ] – [フロントページ] – [任意の固定ページ]の場合: front-page.php – page.php(固定ページに従う。)
[固定ページ] – [投稿ページ] – [任意の投稿]の場合: home.php – index.php

<固定ページ> [customname].php(カスタムテンプレート) – page-[slug].php – page-[id].php – page.php

<フロントページ> front-page.php – 固定ページ表示ルール – ホームページ表示ルール

<カテゴリー> category-[slug].php – category-[id].php – category.php – archive.php

<タグ> tag-[slug].php tag-[id].php – tag.php – archive.php

<カスタム分類> taxonomy-[taxonomy]-[term].php – taxonomy-[taxonomy].php – taxonomy.php – archive.php

<作成者> author-[nicename].php – author-[id].php – author.php – archive.php

<日付> date.php – archive.php

<アーカイブ> archive-[post_type].php – archive.php

<検索結果> search.php

<404> 404.php

<個別投稿> single-[post_type].php – single.php

<添付ファイル> image.php, video.php, audio.php, application.php – application.php – single.php

<カスタム投稿 個別ページ> single-[slug].php – single.php

<カスタム投稿 一覧アーカイブページ> archive-[slug].php – archive.php

—-

よく使うのは
index.php
category.php
category-[slug].php
single.php
page.php
page-[slug].php
front-page.php 固定TOPページ


<category.php>

カテゴリー別のページは、 category-[slug].php にファイル分けするか、
category.php 内で条件分岐する。


<single.php 個別投稿ページ>

WordPressでサイト設計をする時に覚えておきたいポストタイプの特徴などいろいろ

single.php はスラッグ名でのファイル分けできないので、[post_type]でファイル分けして、内部で条件分岐する。

single-[post_type].php の [post_type] とは。
1. post 普通に投稿したもの。
    – カテゴリーで分類できる。
    – カテゴリーには親子関係を付けることができる。
    – タグで分類できる。
    – カスタムタクソノミー(後述)を使って分類することもできる。
    – 簡単に時系列で並べられる。
    – 抜粋が使える。
    – 投稿自体に親子関係を付けることはできない。

    例: [post_type] == post で category 条件分岐
    —-
    <?php
    if ( in_category(hoge) ) {
        get_template_part('single', 'hoge');
    } elseif ( in_category(fuga) ) {
        get_template_part('single', 'fuga');
    } else {
        get_template_part('single');
    }
    —-

    例 [post_tyoe] == post で ID, title, slug 条件分岐(区別できない)
    —-
    <?php
    if ( is_single('foo') ) {
        get_template_part('single', 'foo');
    } else {
        get_template_part('single');
    }
    —-

2. page 固定ページ
    – カテゴリーやタグで分類できない。
    – カスタムタクソノミーを使って分類することができる。
    – ページに親子関係を付けることができる。
    – ページごとに違うテンプレートファイルを使うことができる!

3. [custom] 新しくカスタム投稿タイプで登録した名前
    – ページに親子関係を付けることができる。
    – コンテンツをカスタムタクソノミーで分類できる。
    – カスタムタクソノミーは複数設定できる。
    – カスタムタクソノミーには親子関係を付けることができる。
    – 簡単に時系列で並べられる。
    – カスタム投稿タイプごとにテンプレートファイルを使うことができる。


<page.php 固定ページ>
page-[slug].php でファイル分け。


< taxonomy カスタムタクソノミー の アーカイブページ >
1. taxonomy-[taxonomy]-[term].php
2. taxonomy-[taxonomy].php
3. taxonomy.php
4. archive.php
5. index.php

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です