どうも。
今回はそこそこ頻出のやつです。
自分で更新するだけならルール決めてやればいいんですが、Webサイトを作成して納品する場合、依頼主がカテゴリー選択し忘れて投稿が表示されません、とかなるとめんどくさいなーって時にこのコードを入れればお悩み解決です。
functions.phpに記述してカスタム投稿のカテゴリーが未選択の時に特定のカテゴリーを自動で選択させる方法
まずは結論のコードから。
function add_defaultcat($post_ID) {
global $wpdb;
$curTerm = wp_get_object_terms($post_ID, 'faq-cat');
if (0 == count($curTerm)) {
$defaultTerm= array(1); //デフォルトにしたいカテゴリーのIDを記述
wp_set_object_terms($post_ID, $defaultTerm, 'faq-cat');
}
}
add_action('publish_faq', 'add_defaultcat');
上記コードはよくある質問ページで使い、post_typeはfaq , taxonomyはfaq-cat になっています。
6行目のarray(1) はデフォルトにしたいカテゴリーのIDを入れてください。
カテゴリーのIDの確認方法は、カテゴリーを作成するページの各カテゴリー名にマウスオーバーすると左下に小さな文字で情報が表示されます。この確認方法が一番簡単かと思うのでお試しください。
いかがでしたでしょうか。
いかにも小ワザという感じですが、やらないとわからないことだと思うのでお役に立てれば幸いです。