カスタム投稿においてデフォルトのカテゴリを設定する@WordPress
カスタム投稿におけるデフォルトのカテゴリを指定する例です。
デフォルトの「投稿」で同様のことをするのはこちらになります。
http://blog.showzine.co/entry/setting-default-categoryblog.showzine.co
以下、コードです。利用しているテーマのfunctions.phpに記述します。
- カスタム投稿タイプが「news」
- カスタム分類名が「cat_news」
- デフォルトで指定したいタームが「notice」でターム ID は「4」
<?php // カスタム投稿タイプでカテゴリ未選択時にデフォルトで 「お知らせ」 を設定 function add_defaultcategory_automatically($post_ID) { global $wpdb; // 設定されているカスタム分類のタームを取得 $curTerm = wp_get_object_terms($post_ID, 'cat-news'); // 既存のターム指定数が 0(つまり未設定)であれば)「notice」を指定(noticeはカテゴリースラッグ) if (0 == count($curTerm)) { // notice のターム ID $defaultTerm= array(4); wp_set_object_terms($post_ID, $defaultTerm, 'cat-news'); } } // news を作成する際に指定 add_action('publish_news', 'add_defaultcategory_automatically');