WordPress でデフォルトのカスタム分類のタームを自動で指定する

WordPress でカスタム投稿タイプの新規投稿の際に、デフォルトのカスタム分類(カスタムタクソノミー)のタームを自動で指定する方法です。「投稿」における「カテゴリー」の「未分類」みたいなもんです。

functions.php に以下のコードを追加します。以下は、

  • カスタム投稿タイプが「news」
  • カスタム分類名が「news_type」
  • デフォルトで指定したいタームが「misc」でターム ID は「3」

の場合の例です。

// カスタム投稿タイプでカテゴリ未選択時にデフォルトで others を設定
function add_defaultcategory_automatically($post_ID) {
    global $wpdb;
    // 設定されているカスタム分類のタームを取得
    $curTerm = wp_get_object_terms($post_ID, 'news_type');
    // 既存のターム指定数が 0(つまり未設定)であれば)「misc」を指定
    if (0 == count($curTerm)) {
        // misc のターム ID
        $defaultTerm= array(3);
        wp_set_object_terms($post_ID, $defaultTerm, 'news_type');
    }
}
// news を作成する際に指定
add_action('publish_news', 'add_defaultcategory_automatically');
スポンサーリンク
レクタングル(大)
レクタングル(大)

コメント

  1. […] WordPress でデフォルトのカスタム分類のタームを自動で指定するWordPress でカスタム投稿タイプの新規投稿の際に、デフォルトのカスタム分類(カスタムタクソノミー)のタームを自動で指定する方法です。「投稿」における「カテゴリー」の「未分類」みたいなもんです。functions.php に以下のコーdigitalbox.jp […]