Top

メモ書き

どうも。
今回はそこそこ頻出のやつです。
自分で更新するだけならルール決めてやればいいんですが、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の確認方法は、カテゴリーを作成するページの各カテゴリー名にマウスオーバーすると左下に小さな文字で情報が表示されます。この確認方法が一番簡単かと思うのでお試しください。

いかがでしたでしょうか。
いかにも小ワザという感じですが、やらないとわからないことだと思うのでお役に立てれば幸いです。