浦和の小さなweb屋さん

カスタム投稿タイプのfunction.phpの設定をパーツ化しておくと便利!

私がよく使うカスタム投稿タイプでは「イベント情報」、「メンバー(会員)紹介」があります。
function.phpに追記する情報を、ひとまとめにして/assets/functions/フォルダなどにして格納しておくと、
他サイトなどに流用する際にも便利です。

イベント情報の定義

function event_postype() {
    $labels = array(
        'name' => 'イベント',
        'singular_name' => 'イベント',
        'add_new' => '新規追加',
        'add_new_item' => '新規イベントを追加',
        'edit_item' => 'イベントを編集',
        'new_item' => '新規イベント',
        'view_item' => 'イベントを表示',
        'search_items' => 'イベントを検索',
        'not_found' =>  '投稿されたイベントはありません',
        'not_found_in_trash' => 'ゴミ箱にイベントはありません。',
        'parent_item_colon' => '',
    );
    $args = array(
        'label' => __('Events'),
        'labels' => $labels,
        'public' => true,
        'menu_position' => 5,
        'supports'=> array('title', 'thumbnail', 'excerpt', 'editor') ,
        'taxonomies' => array( 'eventcategory', 'post_tag'),
        'has_archive' => 'event'
    );
    register_post_type( 'events', $args);
}
add_action( 'init', 'event_postype' );


function eventcategory_taxonomy() {
    $labels = array(
        'name' => 'イベントカテゴリー',
        'singular_name' => 'イベントカテゴリー',
        'search_items' =>  'イベントを検索',
        'popular_items' => 'よく使われているイベント',
        'all_items' => 'すべてのイベント',
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => 'イベントカテゴリーの編集',
        'update_item' => '更新',
        'add_new_item' => '新規イベントカテゴリー',
        'new_item_name' => '新しいイベントカテゴリー'
    );
    register_taxonomy('eventcategory','events', array(
        'label' => 'イベントカテゴリー',
        'labels' => $labels,
        'hierarchical' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'event-category' ),
    ));
}
add_action( 'init', 'eventcategory_taxonomy', 0 );

上の定義をfunctions.phpで呼び出す

// イベント情報のカスタム投稿タイプ
require_once(get_template_directory().'/assets/functions/custom-post-type-evevt.php');
共有
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Posts published: 48
Copyrights © idew. All Rights Reserved.