【WordPress】カスタム投稿で初期タームを設定する簡単な方法

通常の投稿タイプですと、カテゴリーを選択していない場合は「未分類」が、自動的に設定されます。

 

カスタム投稿の場合は、「ターム」を登録していても、この自動的に設定させる機能が無いため、タームが未選択のまま公開されてしまいます。

 

ということで今回は、「ターム」を選択していない場合、特定のタームを自動的に設定させるようにする方法をご紹介しますね!

カスタム投稿で初期タームを設定する簡単な方法

下記のコードを「functions.php」に記述してください。

カスタム投稿タイプのスラッグ : 「news」
カスタムタクソノミーのスラッグ : 「cat_news」
初期タームのID : 「28」

という前提で話を進めます。

function add_defaultcategory_automatically($post_ID) {
  global $wpdb;
  $curTerm = wp_get_object_terms($post_ID, 'cat_news'); // カスタムタクソノミーのスラッグ
  if (0 == count($curTerm)) {
    $defaultTerm = array(28); // 初期タームのID
    wp_set_object_terms($post_ID, $defaultTerm, 'cat_news'); // カスタムタクソノミーのスラッグ
  }
}
add_action('publish_news', 'add_defaultcategory_automatically'); // publish_カスタム投稿タイプのスラッグ

 

書き換えが必要な箇所は全部で4箇所になります。

ご自身の環境に合わせて書き換えてください。

 

下記は、コピペ用です。

function add_defaultcategory_automatically($post_ID) {
  global $wpdb;
  $curTerm = wp_get_object_terms($post_ID, 'カスタムタクソノミーのスラッグ');
  if (0 == count($curTerm)) {
    $defaultTerm = array(初期タームのID);
    wp_set_object_terms($post_ID, $defaultTerm, 'カスタムタクソノミーのスラッグ');
  }
}
add_action('publish_カスタム投稿タイプのスラッグ', 'add_defaultcategory_automatically');

 

今回は以上です!

SNSでもご購読できます。

コメントを残す

前の記事

次の記事