カスタム投稿

カスタム投稿を有効化

<?php
// カスタム投稿タイプ・カスタム分類 サンプル - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

add_action( 'init', 'register_cpt_sample' );
function register_cpt_sample() {

    $labels = array( 
        'name' => _x( 'サンプル', 'sample' ),
        'singular_name' => _x( 'サンプル', 'sample' ),
        'add_new' => _x( '新規作成', 'sample' ),
        'add_new_item' => _x( '新規作成', 'sample' ),
        'edit_item' => _x( 'サンプルを編集', 'sample' ),
        'new_item' => _x( '新しいサンプル', 'sample' ),
        'view_item' => _x( 'サンプルを見る', 'sample' ),
        'search_items' => _x( 'サンプルを検索', 'sample' ),
        'not_found' => _x( 'サンプルが見つかりません', 'sample' ),
        'not_found_in_trash' => _x( 'ゴミ箱の中にサンプルが見つかりません', 'sample' ),
        'parent_item_colon' => _x( 'Parent:', 'sample' ),
        'menu_name' => _x( 'サンプル', 'sample' ),
    );

    $args = array( 
        'labels' => $labels,
        'hierarchical' => false,

        'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields', 'excerpt', 'page-attributes' ),
        'taxonomies' => array( 'cat_sample' ),
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'show_in_rest' => true, // グーテンベルクを有効化
        'menu_position' => 5,

        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => true,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );

    register_post_type( 'sample', $args );

  register_taxonomy(
    'cat_sample',
    'sample',
    array(
      'labels' => array(
        'name' => 'カテゴリー',
        'add_new_item' => 'カテゴリーを追加',
        'edit_item' => 'カテゴリーの編集',
      ),
      'hierarchical' => true,
      'show_admin_column' => true,
    )
  );

}

?>

カスタム投稿でグーテンベルクを有効化する

  • カスタム投稿を定義する際、配列に 'show_in_rest' => true, を記述する。