2017.06.14
wordpress

カスタム投稿タイプを作るときに参考になるデフォルト値

カスタム投稿タイプ デフォルト値

まず一番シンプルにカスタム投稿タイプを作りたいときは、下記をfunctions.phpに記述します。

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'original_products',
    array(
      'labels' => array(
        'name' => __( '商品' ),
        'singular_name' => __( '商品' )
      ),
      'public' => true,
      'has_archive' => true,
      'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes'),
      'taxonomies' => array( 'category', 'post_tag' ),
    )
  );
}

スラッグが「original_products」、投稿名が「商品」というカスタム投稿タイプができます。

上記のsupports部分に指定してあるように、通常の投稿と同じようにカテゴリ、タグ、アイキャッチ画像なども表示されます。

カスタム投稿タイプで表示をカスタマイズしたい場合

ほぼデフォルトで使用する場合は、上記のような記述で問題ないのですが、いろいろ表示をカスタマイズしたい場合は下記のように記述するほうがスマートだと思います。

add_action('init', 'create_post_type');
function create_post_type() {
  $labels = array(
    'name' => __('商品'),
    'singular_name' => __('商品'),
  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'has_archive' => true,
    'supports' => array('title','editor','thumbnail','custom-fields','excerpt','author','trackbacks','comments','revisions','page-attributes'),
    'taxonomies' => array( 'category', 'post_tag' )
  );
  register_post_type('original_products',$args);
}

$argsのデフォルト値

$argsのデフォルト値は以下のとおりです。必要なものを上記に追加・修正してカスタマイズができます。

array(
    'labels' => array(), 
    'description' => '', 
    'publicly_queryable' => null, 
    'exclude_from_search' => null,
    'capability_type' => 'post', 
    'capabilities' => null, 
    'map_meta_cap' => null,
    'hierarchical' => false,
    'public' => false, 
    'rewrite' => true, 
    'has_archive' => false, 
    'query_var' => true,
    'supports' => array('title', 'editor'), 
    'register_meta_box_cb' => null,
    'taxonomies' => null, 
    'show_ui' => null, 
    'menu_position' => null, 
    'menu_icon' => null,
    'can_export' => true,
    'show_in_nav_menus' => null, 
    'show_in_menu' => null, 
    'show_in_admin_bar' => null,
    'delete_with_user' => null,
);

$labelsのデフォルト値

$labelsのデフォルト値は以下になります。

array(
    'name' => array( _x('Posts', 'post type general name'), _x('Pages', 'post type general name') ),
    'singular_name' => array( _x('Post', 'post type singular name'), _x('Page', 'post type singular name') ),
    'add_new' => array( _x('Add New', 'post'), _x('Add New', 'page') ),
    'add_new_item' => array( __('Add New Post'), __('Add New Page') ),
    'edit_item' => array( __('Edit Post'), __('Edit Page') ),
    'new_item' => array( __('New Post'), __('New Page') ),
    'view_item' => array( __('View Post'), __('View Page') ),
    'search_items' => array( __('Search Posts'), __('Search Pages') ),
    'not_found' => array( __('No posts found.'), __('No pages found.') ),
    'not_found_in_trash' => array( __('No posts found in Trash.'), __('No pages found in Trash.') ),
    'parent_item_colon' => array( null, __('Parent Page:') ),
    'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) )
);

nameとsingular_name以外の部分はきちんとカスタマイズをしたい場合を除いてあまり指定しなくても機能します。管理画面に記事を作成するときに、表示させたい文字をここに記述します。

例えば下記のように。

  $labels = array(
    'name' => _x('商品', 'post type general name'),
    'singular_name' => _x('商品', 'post type singular name'),
    'add_new' => _x('記事を書く', 'original_products'),
    'add_new_item' => __('記事を書く'),
    'edit_item' => __('記事を編集'),
    'new_item' => __('新しい記事'),
    'view_item' => __('記事を見る'),
    'search_items' => __('記事を探す'),
    'not_found' =>  __('記事はありません'),
    'not_found_in_trash' => __('ゴミ箱に記事はありません'),
    'parent_item_colon' => '',
    'all_items' => __( '全ての記事' )
  );
関連する記事

コメントをどうぞ

技術的なサポート、質問等にはお答えできない場合もございます。
また、現在更新頻度はかなり低めですので、返信できたとしてもかなり遅くなる場合があります。
ご理解くださいませ。


以下のHTMLタグが使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*


おすすめの本
ネットで調べればなんとかなる!という時代ですが、良い本にめぐり合い、基礎をきっちり固めることで応用がきくテクニックを身に着けることができます。もっと上達したい人におすすめの本をいくつかご紹介します。
TO TOP