Notice: Object of class WP_Post could not be converted to int in /home/users/1/sub.jp-rozafi/web/web-sourcecode/wp/wp-includes/post-template.php on line 310
 カスタム投稿を追加する方法-WordPress|SOURCE CODE
WordPress - 2019-09-04

カスタム投稿を追加する方法-WordPress

今回はプラグインを使わずカスタム投稿タイプを追加する方法のメモです。
以下のコードをfunction.phpに追記してください。
カスタム投稿タイプを「 sample 」・カスタム投稿名を「 サンプル 」とします。

タクソノミーなしの場合

function sample_custom_post_type() {
  register_post_type('sample', array(
    'labels'        => array(
      'name'               => 'サンプル',
      'singular_name'      => 'サンプル',
      'add_new_item'       => '新規をサンプル追加',
      'add_new'            => '新規追加',
      'new_item'           => '新規サンプル',
      'view_item'          => 'サンプルを表示',
      'not_found'          => 'サンプルは見つかりませんでした',
      'not_found_in_trash' => 'ゴミ箱にサンプルはありません。',
      'search_items'       => 'サンプルを検索',
      ),
    'public'        => true,
    'show_ui'       => true,
    'query_var'     => true,
    'hierarchical'  => false,
    'menu_position' => 5,
    'supports'      => array('title','editor'),
    'rewrite'       => true,
  ));
}

add_action('init', 'sample_custom_post_type');

タクソノミーありの場合

function sample_custom_post_type() {
  register_post_type('sample', array(
    'labels'        => array(
      'name'               => 'サンプル',
      'singular_name'      => 'サンプル',
      'add_new_item'       => '新規をサンプル追加',
      'add_new'            => '新規追加',
      'new_item'           => '新規サンプル',
      'view_item'          => 'サンプルを表示',
      'not_found'          => 'サンプルは見つかりませんでした',
      'not_found_in_trash' => 'ゴミ箱にサンプルはありません。',
      'search_items'       => 'サンプルを検索',
      ),
    'public'        => true,
    'show_ui'       => true,
    'query_var'     => true,
    'hierarchical'  => false,
    'menu_position' => 5,
    'supports'      => array('title','editor'),
    'rewrite'       => true,
    'has_archive'   => 'sample',
  ));
  register_taxonomy('sample_category', 'sample', array(
    'label'        => 'カテゴリ',
    'public'       => true,
    'show_ui'      => true,
    'hierarchical' => true,
  ));
}

add_action('init', 'sample_custom_post_type');

おまけ

WordPressでは通常の投稿の名称は「投稿」になっていますが、これを分かりやすい文字に変更したい場合があります。 今回は「 ニュース 」に変更したいと思います。
以下のコードをfunction.phpに追記してください。

function custom_post_labels( $labels ) {
  $labels->name = 'ニュース'; // 投稿
  $labels->singular_name = 'ニュース'; // 投稿
  $labels->add_new = '新規追加'; // 新規追加
  $labels->add_new_item = 'ニュースを追加'; // 新規投稿を追加
  $labels->edit_item = '投稿の編集'; // 投稿の編集
  $labels->new_item = '新規ニュース'; // 新規投稿
  $labels->view_item = 'ニュースを表示'; // 投稿を表示
  $labels->search_items = 'ニュースを検索'; // 投稿を検索
  $labels->not_found = 'ニュースが見つかりませんでした。'; // 投稿が見つかりませんでした。
  $labels->not_found_in_trash = 'ゴミ箱内にニュースが見つかりませんでした。'; // ゴミ箱内に投稿が見つかりませんでした。
  $labels->parent_item_colon = ''; // (なし)
  $labels->all_items = 'ニュース一覧'; // 投稿一覧
  $labels->archives = 'ニュースアーカイブ'; // 投稿アーカイブ
  $labels->insert_into_item = 'ニュースに挿入'; // 投稿に挿入
  $labels->uploaded_to_this_item = 'このニュースへのアップロード'; // この投稿へのアップロード
  $labels->featured_image = 'アイキャッチ画像'; // アイキャッチ画像
  $labels->set_featured_image = 'アイキャッチ画像を設定'; // アイキャッチ画像を設定
  $labels->remove_featured_image = 'アイキャッチ画像を削除'; // アイキャッチ画像を削除
  $labels->use_featured_image = 'アイキャッチ画像として使用'; // アイキャッチ画像として使用
  $labels->filter_items_list = 'ニュースリストの絞り込み'; // 投稿リストの絞り込み
  $labels->items_list_navigation = 'ニュースリストナビゲーション'; // 投稿リストナビゲーション
  $labels->items_list = 'ニュースリスト'; // 投稿リスト
  $labels->menu_name = 'ニュース'; // 投稿
  $labels->name_admin_bar = 'ニュース'; // 投稿
  return $labels;
}
add_filter( 'post_type_labels_post', 'custom_post_labels' );
Related Posts

Related Posts

WordPressのカスタムフィールドやカテゴリを検索対象に含める方法

2018-02-07

WordPressの検索結果から特定の情報を除外、または追加する方法

2019-09-03

WordPress移行時にウィジェットやMW WP Formの内容が移行できない場合の解決策

2019-08-15

ソーシャルシェアボタンの設置方法まとめ-WordPress編

2019-08-13