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

関数リファレンス/register post type

提供: WordPress Codex 日本語版
< 関数リファレンス
2010年7月29日 (木) 10:47時点におけるMizuno (トーク | 投稿記録)による版 (show_ui まで翻訳済み)

移動先: 案内検索

このページ「関数リファレンス/register post type」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

説明

投稿タイプを作成または変更します。init よりも前に register_post_type を使用しないでください。

使い方

<?php register_post_type( $post_type, $args ) ?>

パラメータ

$post_type
文字列) (必須) 投稿タイプ (最大 20 文字)
初期値: なし
$args
配列) (オプション) 引数の配列
初期値: なし

引数

label
文字列) (オプション) 投稿タイプの翻訳のための複数形の名前。
初期値: $post_type
labels
配列) (オプション) labels - この投稿タイプのラベルの配列。デフォルトでは、post labels が非階層タイプに、page labels が階層タイプに使用されます。
初期値: 空の場合は、name が label 値にセットされ、singular_name が name 値にセットされます
  • 'name' - 投稿タイプの一般名、通常複数形。 The same as, and overridden by $post_type_object->label
  • 'singular_name' - この投稿タイプの 1 オブジェクトの名前。name の値のデフォルト。
  • 'add_new' - add new テキスト。非階層/階層タイプのどちらもデフォルトは Add New。この文字列を国際化対応にするには、gettext context を投稿タイプにマッチするようにしてください。例: _x('Add New', 'product');
  • 'add_new_item' - add new item テキスト。デフォルトは Add New Post/Add New Page
  • 'edit_item' - edit item テキスト。デフォルトは Edit Post/Edit Page
  • 'new_item' - new item テキスト。デフォルトは New Post/New Page
  • 'view_item' - view item テキスト。デフォルトは View Post/View Page
  • 'search_items' - search items テキスト。デフォルトは Search Posts/Search Pages
  • 'not_found' - not found テキスト。デフォルトは No posts found/No pages found
  • 'not_found_in_trash' - not found in trash テキスト。デフォルトは No posts found in Trash/No pages found in Trash
  • 'parent_item_colon' - parent テキスト。非階層タイプでは使用しない。階層タイプではデフォルトは Parent Page:
description
文字列) (オプション) 投稿タイプの簡潔な説明。
初期値: blank
public
真偽値) (オプション) publicly_queriable, show_ui, show_in_nav_menus および exclude_from_search のデフォルト値を定義するメタ引数。
初期値: false
  • 'false' - この投稿タイプでユーザーインターフェースを表示しない(show_ui=false)、post_type クエリがフロントエンドで実行できない(publicly_queryable=false)、検索結果からこの投稿タイプを除外する(exclude_from_search=true)、ナビゲーションメニューで post_type を選択候補から外す(show_in_nav_menus=false)
  • 'true' - show_ui=true, publicly_queryable=true, exclude_from_search=false, show_in_nav_menus=true
publicly_queryable
真偽値) (optional) フロントエンドで post_type クエリが実行可能かどうか。
初期値: value of public argument
exclude_from_search
真偽値) (importance) この投稿タイプを検索結果から場外するかどうか。
初期値: value of the opposite of the public argument
show_ui
真偽値) (オプション) この投稿タイプを管理するデフォルト UI を生成するかどうか。ビルトイン投稿タイプ(投稿と固定ページ)は、意図的に「偽」に設定してあります。
初期値: value of public argument
  • 'false' - この投稿タイプのユーザーインターフェースを表示しない
  • 'true' - (管理パネルで)この投稿タイプのユーザーインターフェースを表示する
capability_type
string) (オプション) The post type to use for checking read, edit, and delete capabilities.
初期値: "post"

By default the capability_type is used to construct capabilities.

capabilities
array) (オプション) An array of the capabilities for this post type.
初期値: capability_type is used to construct
  • 'edit_' . $capability_type (edit_post) - The meta capability that controls editing a particular object of this post type. Defaults to "edit_ . $capability_type"
  • 'edit_' . $capability_type . 's' (edit_posts) - The capability that controls editing objects of this post type as a class. Defaults to "edit_ . $capability_type . s"
  • 'edit_others_' . $capability_type . 's' (edit_others_posts) - The capability that controls editing objects of this post type that are owned by other users. Defaults to "edit_others_ . $capability_type . s"
  • 'publish_' . $capability_type . 's' (publish_posts) - The capability that controls publishing objects of this post type. Defaults to "publish_ . $capability_type . s"
  • 'read_' . $capability_type (read_post) - The meta capability that controls reading a particular object of this post type. Defaults to "read_ . $capability_type"
  • 'read_private_' . $capability_type . 's' (read_private_posts) - The capability that controls reading private posts. Defaults to "read_private . $capability_type . s"
  • 'delete_' . $capability_type (delete_post) - The meta capability that controls deleting a particular object of this post type. Defaults to "delete_ . $capability_type"
hierarchical
boolean) (オプション) Whether the post type is hierarchical. Allows Parent to be specified.
初期値: false
supports
array) (オプション) An alias for calling add_post_type_support()/en directly.
初期値: title and editor
  • 'title'
  • 'editor' (content)
  • 'author'
  • 'thumbnail' (featured image) (current theme must also support post-thumbnails)
  • 'excerpt'
  • 'trackbacks'
  • 'custom-fields'
  • 'comments' (also will see comment count balloon on edit screen)
  • 'revisions' (will store revisions)
  • 'page-attributes' (template and menu order) (hierarchical must be true)
register_meta_box_cb
string) (optional) Provide a callback function that will be called when setting up the meta boxes for the edit form. Do remove_meta_box()/en and add_meta_box() calls in the callback.
初期値: なし
taxonomies
array) (optional) An array of registered taxonomies that will be used with this post type. This can be use in lieu of calling register_taxonomy_for_object_type()/en directly. Taxonomies still need to be registered with register_taxonomy()/en.
初期値: なし
menu_position
integer) (optional) The position in the menu order the post type should appear.
初期値: null - defaults to below Comments
  • 5 - below Posts
  • 10 - below Media
  • 20 - below Pages
menu_icon
string) (optional) The url to the icon to be used for this menu.
初期値: null - defaults to the posts icon
permalink_epmask
string) (optional) The default rewrite endpoint bitmasks. For more info see Trac Ticket 12605.
初期値: EP_PERMALINK
rewrite
boolean or array) (optional) Rewrite permalinks with this format.
初期値: true
$args array
  • 'slug' - prepend posts with this slug - defaults to post type's name
  • 'with_front' - allowing permalinks to be prepended with front base - defaults to true
query_var
boolean) (optional) Name of the query var to use for this post type.
初期値: true
can_export
boolean) (optional) Can this post_type be exported.
初期値: true
show_in_nav_menus
boolean) (optional) Whether post_type is available for selection in navigation menus.
初期値: value of public argument
_builtin
boolean) (not for general use) Whether this post type is a native or "built-in" post_type. Note: this Codex entry is for documentation - core developers recommend you don't use this when registering your own post type
初期値: false
  • 'false' - default this is a custom post type
  • 'true' - this is a built-in native post type (post, page, attachment, revision, nav_menu_item)
_edit_link
boolean) (not for general use) Link to edit an entry with this post type. Note: this Codex entry is for documentation '-' core developers recommend you don't use this when registering your own post type
初期値:
  • 'post.php?post=%d'

用例

An an example of registering a post type called "book" including providing contextual help:

<?php
add_action('init', 'my_custom_init');
function my_custom_init() 
{
  $labels = array(
    'name' => _x('Books', 'post type general name'),
    'singular_name' => _x('Book', 'post type singular name'),
    'add_new' => _x('Add New', 'book'),
    'add_new_item' => __('Add New Book'),
    'edit_item' => __('Edit Book'),
    'new_item' => __('New Book'),
    'view_item' => __('View Book'),
    'search_items' => __('Search Books'),
    'not_found' =>  __('No books found'),
    'not_found_in_trash' => __('No books found in Trash'), 
    'parent_item_colon' => ''
  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true, 
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title','editor','author','thumbnail','excerpt','comments')
  ); 
  register_post_type('book',$args);
}

//add filter to insure the text Book, or book, is displayed when user updates a book 
add_filter('post_updated_messages', 'book_updated_messages');
function book_updated_messages( $messages ) {

  $messages['book'] = array(
    0 => '', // Unused. Messages start at index 1.
    1 => sprintf( __('Book updated. <a href="%s">View book</a>'), esc_url( get_permalink($post_ID) ) ),
    2 => __('Custom field updated.'),
    3 => __('Custom field deleted.'),
    4 => __('Book updated.'),
    /* translators: %s: date and time of the revision */
    5 => isset($_GET['revision']) ? sprintf( __('Book restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
    6 => sprintf( __('Book published. <a href="%s">View book</a>'), esc_url( get_permalink($post_ID) ) ),
    7 => __('Book saved.'),
    8 => sprintf( __('Book submitted. <a target="_blank" href="%s">Preview book</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
    9 => sprintf( __('Book scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview book</a>'),
      // translators: Publish box date format, see http://php.net/date
      date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
    10 => sprintf( __('Book draft updated. <a target="_blank" href="%s">Preview book</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
  );

  return $messages;
}

//display contextual help for Books
add_action( 'contextual_help', 'add_help_text', 10, 3 );

function add_help_text($contextual_help, $screen_id, $screen) { 
  //$contextual_help .= var_dump($screen); // use this to help determine $screen->id
  if ('book' == $screen->id ) {
    $contextual_help =
      '<p>' . __('Things to remember when adding or editing a book:') . '</p>' .
      '<ul>' .
      '<li>' . __('Specify the correct genre such as Mystery, or Historic.') . '</li>' .
      '<li>' . __('Specify the correct writer of the book.  Remember that the Author module refers to you, the author of this book review.') . '</li>' .
      '</ul>' .
      '<p>' . __('If you want to schedule the book review to be published in the future:') . '</p>' .
      '<ul>' .
      '<li>' . __('Under the Publish module, click on the Edit link next to Publish.') . '</li>' .
      '<li>' . __('Change the date to the date to actual publish this article, then click on Ok.') . '</li>' .
      '</ul>' .
      '<p><strong>' . __('For more information:') . '</strong></p>' .
      '<p>' . __('<a href="http://codex.wordpress.org/Posts_Edit_SubPanel" target="_blank">Edit Posts Documentation</a>') . '</p>' .
      '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ;
  } elseif ( 'edit-book' == $screen->id ) {
    $contextual_help = 
      '<p>' . __('This is the help screen displaying the table of books blah blah blah.') . '</p>' ;
  }
  return $contextual_help;
}
?>

変更履歴

ソースファイル

register_post_type() is located in wp-includes/post.php.

リソース

プラグインリソース


最新英語版: WordPress Codex » Function Reference/register_post_type最新版との差分

関連

投稿タイプ: register_post_type(), add_post_type_support(), remove_post_type_support(), post_type_supports(), post_type_exists(), set_post_type(), get_post_type(), get_post_types(), get_post_type_object(), get_post_type_capabilities(), get_post_type_labels(), is_post_type_hierarchical(), is_post_type_archive(), post_type_archive_title()


関数リファレンステンプレートタグ目次もご覧ください。