WordPressでテーマ適用時にカテゴリーの一括登録を行う


テーマ適用時にカテゴリーやタグを一括登録を行うといった備忘録

親カテゴリーを配列の最初の方に持って来れば親子関係も持てる。
いちいちマウス操作で親カテゴリーとか指定したくない人向け

function create_defaultcategory() {

	$taxonomy_type = 'category';//categoryやtag, カスタムタクソノミー名を指定
	$taxonomy_sets = array(
		'設定したいカテゴリー名1'	=> array('slug'=>'任意のslug1', 'parent'=>'親カテゴリーのslug', 'description' =>'説明'),
		'設定したいカテゴリー名2'	=> array('slug'=>'任意のslug2', 'parent'=>'親カテゴリーのslug', 'description' =>'説明'),
		'設定したいカテゴリー名3'	=> array('slug'=>'任意のslug3', 'parent'=>'親カテゴリーのslug', 'description' =>'説明'),
		'設定したいカテゴリー名4'	=> array('slug'=>'任意のslug4', 'parent'=>'親カテゴリーのslug', 'description' =>'説明'),
	);
	foreach ($taxonomy_sets as $key => $taxonomy_set ) {
		$terms = get_term_by("name", $key, $taxonomy_type);
		if($taxonomy_set['parent']){	
			$pid = get_term_by('slug',$taxonomy_set['parent'],'category');//parentのid取得
			$taxonomy_set['parent'] = $pid->term_id;
		}
		if(!$terms){	//存在しなければ新規登録
				wp_insert_term($key, $taxonomy_type, $taxonomy_set);
		}else{
				wp_update_term($terms->term_id, $taxonomy_type, $taxonomy_set);
		}
	}
}
add_action('after_switch_theme', 'create_defaultcategory'); //after_switch_themeでテーマの変更時に適用

投稿日: 2015年9月13日
カテゴリー: WordPress | 投稿者: