WordPress の投稿タイプ
更新日:2022年03月13日
作成日:2018年6月24日
投稿タイプ
WordPress は異なるタイプのコンテンツを保存し、表示することができます。投稿タイプは WordPress が管理するコンテンツのグループ単位(WordPress の posts テーブル内で管理されている様々な構造を持つデータ)のことです。標準で用意されているものには「投稿記事 (post)」や「固定ページ (page)」などがあります。
どの投稿タイプのコンテンツもすべてひとつの場所(データベースの wp_posts テーブル)に格納されていて、post_type というカラムによって区別されます。
言い換えると、WordPress では記事が投稿されると、内部的に同じ場所にデータを保存していて、それぞれを区別するために、投稿タイプと言う文字列を付加しています。例えば投稿記事の一覧を表示するには、データベースに対して「投稿タイプが post の記事」をリクエストするといった具合です。
WordPress Codex(日本語):投稿タイプ
デフォルトタイプ
WordPress には5つの主要なデフォルト投稿タイプがあります。
- 投稿 (post)
- WordPress での投稿 (post) は、ブログで使われるメインの投稿タイプです。投稿は通常、一番新しいものが最初にくる反時系列順で表示されます。投稿はフィードの作成にも使われます。
- ページまたは固定ページ (page)
- WordPress でのページ (page) は投稿に似ていますが、投稿の時系列構造の外にあります。ページはメインのサイトドメインのすぐ下にくる独自 URL を持っており、特別なページテンプレートを使って表示することができます。また、他のページを親に持つ階層化した構造にすることもできます。
- 添付ファイル (attachment)
- 添付ファイル (attachment) は特別な投稿で、メディアアップロードシステムを使ってアップロードされたファイルについて、ファイル名・説明などすべての情報が含まれます。例えばファイルが画像の場合、画像のサイズや自動生成されたサムネイル、ファイルの位置、埋込み EXIF 情報などです。
- リビジョン (revision)
- リビジョン (revision) は下書きや既存の投稿・ページの過去の変更履歴を保存するための投稿タイプです。投稿・ページタイプと基本的には同じような内容ですが、元となる投稿・ページが親となります。
- ナビゲーションメニュー (nav_menu)
- ナビゲーションメニュー (nav_menu) はナビゲーションメニューシステムの各メニュー項目を保存するための投稿タイプです。
関連項目:get_post_type()
投稿 (post)
投稿 (post)は、時系列に従ってコンテンツを管理する投稿タイプ(post_type == 'post')です。
投稿は記事を日付順に並べるアーカイブページや作成者別などの優遇されたページ種類を持つため、時系列や作成者を意識する場合に用います。また、カテゴリーやタグを用いた記事の分類を行うこともできます。
- 簡単に時系列で並べられる。
- 投稿自体に親子関係を付けることはできない。
- カテゴリーで分類できる。(カテゴリーには親子関係を付けることができる。)
- タグで分類できる。
- カスタムタクソノミーを使って分類することもできる。
- 抜粋が使える。
投稿の分類方法は、カテゴリーとタグの両方が使え、カスタムタクソノミーも使うことができます(但し、カスタムタクソノミーは機能として追加しないと使えません)。また、カテゴリーには親子関係を付けることができます。
固定ページ (page)
固定ページ (page)は、時系列から独立してコンテンツを管理する投稿タイプ(post_type == 'page')です。
固定ページは、階層構造を持つ固定的なコンテンツを持つ部分に割り当てます。階層構造でコンテンツを管理できるため、サイトのほとんどの部分で利用することができます。
- カテゴリーやタグの設定がない。
- カスタムタクソノミーを使って分類することができる。
- ページに親子関係を付けることができる。
- ページごとに違うテンプレートファイルを使うことができる。
- 固定ページで作ったページは、Webサイトのトップページに指定することができる
(「管理画面」→「設定」→「表示設定」の「フロントページの表示」で「固定ページ」を選択 )
固定ページは、テンプレート階層でもっとも優先順位の高い「ページテンプレート」を、ページごとに設定することができます。ページテンプレートは、テンプレートファイルに「Template Name:テンプレート名」を記述することで、管理画面の「ページテンプレート選択欄」に追加され、選択することができるようになります。詳細は「カスタムページテンプレート」を参照ください。
カスタム投稿タイプ
カスタム投稿タイプは、独自の投稿タイプを追加することができ、「投稿記事」や「固定ページ」とは別にコンテンツを管理することができます。カテゴリー形式またはタグ形式で分類することができ、それには「カスタムタクソノミー」という機能を使います。
WordPress にカスタム投稿タイプを追加するには、register_post_type 関数を使って独自の投稿タイプとその動作を定義します。
商品や物件といった、抽出や「次へ」「前へ」のページリンクが必要なコンテンツに対しては、カスタム投稿を用いると良いかもしれません。カスタム投稿のアーカイブページや、カスタム投稿に割り当てたカスタム分類のアーカイブページは、コンテンツをリストで表示したり抽出することができます。
- ページに親子関係を付けることができる。('hierarchical' => true)
- コンテンツをカスタムタクソノミーで分類できる。
- カスタムタクソノミーは複数設定できる。
- カスタムタクソノミーには親子関係を付けることができる。
- 時系列で並べられる。('hierarchical' => false)
- カスタム投稿タイプごとにテンプレートファイルを使うことができる。
- 一覧表示(アーカイブ表示)を作成するには has_archive を true にしておく
- post_type はカスタム投稿タイプの任意の名前
カスタム投稿タイプの詳細は「カスタム投稿タイプとカスタム分類(タクソノミー)」を参照ください。