Understrapのファイル構成について

検索すれば解説はたくさん出てくるけど、自分の使っているバージョンとは違っていたりしてよく分からなくなる。なので後から何かの機能を追加したいときのためにまとめておこうと思う。

お使いのUnderstrapのバージョンは 0.9.6 です

他で調べたりなんとなく解読したりした内容を、自分なりの解釈でまとめてみる。

/understrap

function.phpテーマ内で汎用的に使われるコードを書くファイル。一番使う。
関数を定義したりする。文字列の出力には直接使わない。
header.php主にヘッダー部分。グローバルナビゲーションのクラス指定などができる。
<body>タグ開始部分もここに含まれている。
footer.php主にフッター部分。クレジット表記など。
single.php投稿ページの中身以外。
主に<main>タグなどのクラスを指定できる(例:<main class=”site-main”>など)。
ページネーションはここではないarchive.phpcontent- single.php である。
投稿記事の中身そのもの(<main>タグ内のこと)は /loop-templatesフォルダ内content-single.phpの中に書こう。
page.php固定ページの中身以外。
固定ページ作成の際、テンプレートを指定しないとこれが反映される(初期状態では「右サイドバーレイアウト」と同じ)。
single.phpと同様、<main>タグのクラスを指定したりできる。
固定ページの中身そのものは /loop-templatesフォルダ内content-page.phpの中に書こう。
archive.php投稿一覧(アーカイブ)ページの中身以外。
アーカイブページの最初に出る「カテゴリー:●● 」「月:●年●月」やカテゴリーの説明の表示に関して編集できる。<main>タグのクラス指定、投稿一覧のページネーションもここ。
特定の投稿のカテゴリー一覧ページの内容をカスタマイズしたい場合があれば「category-(スラッグ名).php」というファイルを作るか、このファイルの中でif文を使って分岐させる。
index.phpUnderstrapでは「全ての投稿一覧」ページに関するファイルになる。
上のarchive.phpと同じ感じ。
comments.phpコメントに関する部分。コメントを受け付けないなら中身は空白にする。
404.php404ページの内容部分が編集できる。
author.php「(サイトURL)/?author/」で表示される作者ページ。
search.phpサイト内検索の機能を使った際の検索結果ページ。
『「~~」の検索結果』の文言などを変えたい際に。

/loop-templates

ページの<main>タグ内に関するファイル

content.php投稿一覧ページの中身。
記事タイトルとメタ情報(投稿日などが書かれる部分)、フッター(カテゴリーやタグ部分などが書かれる部分)のセレクタやクラス指定を編集できる。
また、それぞれのアイキャッチ画像と本文抜粋の取得、「続きを読む…」ボタンのリンク先生成もここで行う。
content- single.php投稿記事(個別)の中身。
記事タイトル、メタ情報、フッターの編集ができる。アイキャッチ画像と本文の取得についても上とだいたい同じ(ただし、こちらでは本文全てを出力する)。「前の記事」/「次の記事」といったページネーションのリンク先もここで生成する。
content-page.php固定ページの中身。上と似たような感じなので以下略。
content- search.php検索結果ページで表示される投稿一覧ページの中身。
なんかもうデフォルトのままで良いと思う。
content- none.php表示するコンテンツがない場合のページテンプレート。
if文によって3つの場合分けがされている。ユーザーが管理者の場合は「初めての投稿をしよう!」的な文言を、検索結果で該当するものが見つからなかった場合は「見つかりませんでした」的な文言を、それ以外の場合は「君が何を探してるのかちょっとよく分かんない、とりあえずここで検索してみて」的な文言を表示する。
content-blank.php「Blank content partial template」とのこと。中ではコンテンツの本文を取得している。
content- empty.php「Content empty partial template」とのこと。上と同じくコンテンツの本文を取得している。
……どう違うん?

/page-templates

「固定ページ」に関するファイル。ファイル名は固定ページ作成時に選ぶテンプレート名に対応する。
どのテンプレートも、ページタイトルと本文の間にアイキャッチ画像が表示される。

fullwidthpage.phpこのテンプレートで固定ページを作成すると、サイドバーなしのレイアウトとなる。
right-sidebarpage.php右サイドバー(内容はウィジェットで編集したとおり)のレイアウトになる。
left-sidebarpage.php左サイドバー (内容はウィジェットで編集したとおり) のレイアウトになる。
both-sidebarpage.php左右のサイドバーが表示されたレイアウトになる。ページ細っ。
empty.phpナビゲーションバーと<div class=”wrapper”>の間に本文が生成される。
固定ページのタイトルは出力されない。ナニコレ?
blank.phpCSSなしの真っ白背景に、本文だけが表示される。
ナビゲーションバーも固定ページのタイトルも出力されない。
何がしたいん?

/sidebar-templates

サイドバー関連のファイルなことは確かだが詳細はよく分からない。サイドバーのレイアウトをいじる機会も少ないので今はパス。

/inc

システムに関するファイル。他にもたくさんあるけど使いそうなもの以外は割愛

setup.php主に「続きを読むボタン」まわりのカスタマイズに使う。
template-tags.phpメタ情報などに記載される「posted on」や「tagged」を定義する。
投稿日をクロックアイコンで示したり、カテゴリーをフォルダアイコンにしたりするときに編集した。
pagination.php投稿一覧ページのページネーションのカスタマイズに使う。
投稿ページ(個別)のページネーションではなかった、残念。

とりあえず今はこんな感じ。諦めていたアレやコレができるかもしれない…?