Simplicity2のfunction.phpにカスタム投稿タイプを追記

スポンサーリンク

Simplicity2にカスタム投稿タイプを追加する

カスタム投稿タイプを追加したので自分のために覚書き。

現在の私が使用しているテーマは『Simplicity2』だが、恐らく他のテーマでも同様だと思う。

このページでは Simplicity2 カスタム投稿タイプと、それに付随するカスタムタクソノミー(カテゴリー、タグ)、サイドバーヴィジェット を一気に追加する方法 をご紹介しています。

使用するファイルは『function.php』です。

wordpress のカスタム投稿タイプの追加自体は はじめてではなかったのだが、基本すべてコピペ+少しの変更でやっているので、基礎知識がないので苦闘しました。

お陰でちょっと寝不足。

最初に参考にさせていただいたのはこちら
http://0419.sub.jp/2015/05/21/simplicity-4/

一つ目のカスタム投稿タイプは問題なく追加出来たのだが、さらに増やそうと思い、同じ要領で追加コピペしたらエラーに(涙)

いくつか試して理由がわかった。

2つ目以降に追加するカスタム投稿タイプのときは省く必要がある箇所があった。

ここ ↓↓↓ 

add_action( 'init', 'create_post_type' );
function create_post_type() {
flush_rewrite_rules( false );

覚書きにコピペ用を残しておきます

一つ目は以下を『function.php』にコピペ。

カスタム投稿タイプ名「パーティー」「party」はご自分のに置き換えてね。

// カスタム投稿タイプ追加1つ目ここから
// パーティーここから
add_action( 'init', 'create_post_type' );
function create_post_type() {
flush_rewrite_rules( false );
	register_post_type( 'party', // 投稿タイプ名の定義
		array(
			'labels' => array(
			'name' => __( 'パーティー' ), // フロントで表示する投稿タイプ名
			'singular_name' => __( 'パーティー' )
		),
		'public' => true,
        'has_archive' => true,
		'menu_position' =>5,
		'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments')
		)
	);
// カスタムタクソノミー追加ここから
//カテゴリータイプ
$args = array(
'label' => 'パーティーカテゴリー',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('party_category','party',$args);//タクソノミーの名前,タクソノミーオブジェクトのオブジェクト名
 
//タグタイプ
$args = array(
'label' => 'パーティータグ',
'public' => true,
'show_ui' => true,
'hierarchical' => false
);
register_taxonomy('party_tag','party',$args);
// サイドバーウィジェット有効化 
register_sidebar(array(
     'name' => 'パーティーサイドバー' ,
     'id' => 'sidebar-party' ,
     'before_widget' => '<div class="sidebar-widget">',
     'after_widget' => '</div>',
     'before_title' => '<h3>',
     'after_title' => '</h3>'

));
// カスタム投稿タイプ追加1つ目ここまで

2つ目以降は以下を『function.php』にコピペ。

3つ目、4つ目も同じものを繰り返し貼り付ける。

カスタム投稿タイプ名「アプリ」「apps」はご自分のに置き換えてね。

// カスタム投稿タイプ追加2つ目以降同じここから
// アプリここから
	register_post_type( 'apps', // 投稿タイプ名の定義
		array(
			'labels' => array(
			'name' => __( 'アプリ' ), // フロントで表示する投稿タイプ名
			'singular_name' => __( 'アプリ' )
		),
		'public' => true,
        'has_archive' => true,
		'menu_position' =>5,
		'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments')
		)
	);
// カスタムタクソノミー追加ここから
//カテゴリータイプ
$args = array(
'label' => 'アプリカテゴリー',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('apps_category','apps',$args);//タクソノミーの名前,タクソノミーオブジェクトのオブジェクト名

//タグタイプ
$args = array(
'label' => 'アプリタグ',
'public' => true,
'show_ui' => true,
'hierarchical' => false
);
register_taxonomy('apps_tag','apps',$args);
// サイドバーウィジェット有効化 
register_sidebar(array(
     'name' => 'アプリサイドバー' ,
     'id' => 'sidebar-apps' ,
     'before_widget' => '<div class="sidebar-widget">',
     'after_widget' => '</div>',
     'before_title' => '<h3>',
     'after_title' => '</h3>'

));
// カスタム投稿タイプ追加2つ目以降同じここまで

ああ眠い。今夜はぐっすり眠れそう。