WordPress|カスタム投稿タイプでカテゴリー未選択時に自動選択させる方法|タームの初期設定

カスタム投稿でカテゴリー未選択時に自動選択させる方法のサムネイル画像

カスタム投稿でカテゴリーを選択しなかった時に、特定のカテゴリーを自動選択させる方法を紹介します。

目次

はじめに

WordPressでは、ふつうの投稿タイプではカテゴリー選択を忘れても、自動的に特定のカテゴリーが選ばれるようになっています。そしてそのカテゴリーは変更可能です。

これをカスタム投稿タイプに実装する方法を紹介します。この設定をすることにより、カスタム投稿タイプでもカテゴリー未選択が原因となる諸々のバグが発生しなくなるメリットがあります。

functions.phpの記述方法

方法は簡単でfunctioins.phpに数行のコードをコピペして、必要箇所を変更するだけです。

コピペ用のコードは下記のとおりですが、ご自分用に変更すべき箇所が4箇所ほどあります。

// -----------------------------------------------------------------
// カスタムタクソノミーのデフォルトターム設定
// -----------------------------------------------------------------
function add_defaultcategory_automatically($post_ID) {
  global $wpdb;
  $curTerm = wp_get_object_terms($post_ID, 'タクソノミーのスラッグ');
  if (0 == count($curTerm)) {
      // 指定をしたいタームIDを指定
      $defaultTerm= array(初期設定にしたいタームIDの番号を書く);
      wp_set_object_terms($post_ID, $defaultTerm, 'タクソノミーのスラッグ');
  }
}
add_action('publish_カスタム投稿タイプのスラッグ', 'add_defaultcategory_automatically');

以下に詳しく使い方を説明していきます。

タクソノミーのスラッグ設定1

上のコピペ用コード6行目の’タクソノミーのスラッグ‘の”の中の日本語部分をご自分のタクソノミースラッグに変更して下さい。

$curTerm = wp_get_object_terms($post_ID, 'タクソノミーのスラッグ');

例えば、タクソノミースラッグがworks-catであれば下記のようになります。

$curTerm = wp_get_object_terms($post_ID, 'works-cat');

タクソノミーのスラッグ設定2

上のコピペ用コード10行目の’タクソノミーのスラッグ’の”の中の日本語部分をご自分のタクソノミースラッグに変更して下さい。

wp_set_object_terms($post_ID, $defaultTerm, 'タクソノミーのスラッグ');

例えば、タクソノミースラッグがworks-catであれば下記のようになります。

wp_set_object_terms($post_ID, $defaultTerm, 'works-cat');

カスタム投稿タイプの設定

上のコピペ用コード最終行の’publish_カスタム投稿タイプのスラッグ‘の日本語部分をご自分のカスタム投稿のスラッグに変更して下さい。

add_action('publish_カスタム投稿タイプのスラッグ', 'add_defaultcategory_automatically');

例えば、タクソノミースラッグがworksであれば下記のようになります。

add_action('publish_works', 'add_defaultcategory_automatically');

初期設定にしたいカテゴリーIDの設定

上のコピペ用コード9行目、(初期設定にしたいタームIDの番号を書く)のカッコ内の日本語部分、カテゴリー未選択時に自動的に選択されるカテゴリー(ターム)のID番号に変更してください。

$defaultTerm= array(初期設定にしたいタームIDの番号を書く);

たとえば、希望のタームIDが9であれば下記のようになります。

$defaultTerm= array(9);

タームIDの特定方法

タームIDの番号を調べる方法についても説明しておきます。

STEP
WordPress管理画面>カスタム投稿>カテゴリー

WordPress管理画面からカスタム投稿>カテゴリーとクリックし、カテゴリー編集画面を開く。

STEP
希望のカテゴリー名(ターム)上にマウスポインターを載せる

初期設定にしたいカテゴリー(ターム)名上をマウスオーバーすると、画面下に英数字の羅列が現れ、その中を探すとタームのID番号が見つかる。

まとめ

以上の方法で、カスタム投稿タイプでもカテゴリー未選択時に自動的に選ばれるカテゴリー名を設定することができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

■清水WEB制作代表
■コーディング:WordPress(オリジナルテーマ制作等)・HTML・Sass・FLOCSS・JavaScript(jQuery)等
■集客力:YouTube/Instagram/ブログでそれぞれ登録者数16000人/フォロワー13000人/月間最大アクセス50000PVの集客実績があります
■文章作成:博士号所有、会社員時代は科学雑誌に寄稿していたので文章作成も得意です
■写真技術:Amazon Kindle出版で、写真集・撮影編集解説書を5冊好評発売中です

目次