当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「投稿タイプ」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(途中まで和訳。)
(ページ Custom Post Typesカスタム投稿タイプ へ移動: 和訳確定による改名。)
(相違点なし)

2010年6月19日 (土) 23:15時点における版

このページ「投稿タイプ」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

WordPress はたくさんのタイプのコンテンツを保存して表示できます。内部ではこれらはすべて同じ場所、wp_posts テーブルに保存されてます。これらの異なるタイプのコンテンツは "post_type" というカラムによって区別されています。

WordPress 3.0 以降では、任意の投稿コンテンツを追加したり使用できる機能があります。

WordPress には5つの主要なデフォルト投稿タイプがあります。

投稿 (post)

WordPress での投稿 (post) は、ブログで使われるメインの投稿タイプです。投稿は通常、一番新しいものが最初にくる反時系列順で表示されます。投稿はフィードの作成にも使われます。

ページ (page)

WordPress でのページ (page) は投稿に似ていますが、投稿の時系列構造の外にあります。ページはメインのサイトドメインのすぐ下にくる独自 URL を持っており、特別なページテンプレートを使って表示することができます。また、他のページを親に持つ階層化した構造にすることもできます。

添付ファイル (attachment)

添付ファイル (attachment) は特別な投稿で、メディアアップロードシステムを使ってアップロードされたファイルについて、ファイル名・説明などすべての情報が含まれます。例えばファイルが画像の場合、画像のサイズや自動生成されたサムネイル、ファイルの位置、埋込み EXIF 情報などです。

リビジョン (revision)

リビジョン (revision) は下書きや既存の投稿・ページの過去の変更履歴を保存するための投稿タイプです。投稿・ページタイプと基本的には同じような内容ですが、元となる投稿・ページが親となります。

ナビゲーションメニュー (nav_menu) はナビゲーションメニューシステムの各メニュー項目を保存するための投稿タイプです。posts テーブルの項目がサイト内に表示出来るコンテンツ以外にも使えるという最初の例と言えるでしょう。

カスタム投稿タイプ

WordPress にカスタム投稿タイプを追加するには、register_post_type 関数を使って独自の投稿タイプとその動作を定義します。

以下はカスタム投稿タイプ追加の基本的な一例です。

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'super',
    array(
      'labels' => array(
        'name' => __( 'Supers' ),
        'singular_name' => __( 'Super' )
      ),
      'public' => true,
    )
  );
}

This creates a post type named "super". It has two major arguments with it. The first one is the "labels", which define the name of the type in both plural and singular forms. The second one is "public", which is a predefined flag to show the post type in the admin section and to make it show up on the main site itself, if it's queried for.

There are many more parameters you can add to the register_post_type function, to do things like set up hierarchy, show the new post type in searches, change the URLs of the new posts, and to hide or show meta boxes in the post editing screen. These parameters are optional, and you can use them to configure your post type on a detailed level.

管理画面

When a post type is created like this, it gets a new top level entry in the Admin section to create posts of that new type. From there, you'll have a full post editor and everything that comes along with it by default.

URL

The new post type will also get its own special section of the site layout. In the above example, posts of this new "super" type can be displayed at http://example.com/super/post-name. You can see this link appear in the edit pages for your new type, just like other posts. If

シングルテンプレート

The theme system supports post types too, in the form of the single-type template. In the same way that posts are shown on their own page with single.php, custom post types will use single-type.php if it's available. So for the above example, you could create a single-super.php file and the super posts would be shown using that template.

投稿タイプによるクエリ

In the rest of the theme system, you can also create new queries to display posts from a specific post type. This is done via the "post_type" parameter to a WP_Query.

Example:

$loop = new WP_Query( array( 'post_type' => 'super', 'posts_per_page' => 10 ) );
while ( $loop->have_posts() ) : $loop->the_post();
  the_title();
  echo '<div class="entry-content">';
  the_content();
  echo '</div>';
endwhile;

This simply loops through the latest 10 super posts and displays the title and content of them.

追加情報

日本語情報

英語情報

最新英語版: WordPress Codex » Custom Post Types最新版との差分