WEB業界で働く人や興味がある人に役立つ情報サイト“qam(カム)”

mane

2020/11/23

【WordPress】カスタム投稿タイプのタクソノミー「カテゴリー選択」の項目を必須にする!

投稿者: mane
カテゴリー: マークアップ >CMS

WordPress(以下WP)などのCMSでWEBサイトを作ることが多くなってきましたね。
今回はWPでカスタム投稿タイプをつくった時、「カスタム投稿タイプのカテゴリーをどうやって必須項目にするのか?」という点で悩んだので備忘録も兼ねて紹介いたします。
前提として、「Custom Post Type UI」などでタクソノミーを追加している状態から記していきます。

カスタム投稿タイプにつくったカテゴリーを必須項目にする!

必要なプラグイン

Advanced Custom Fields

Advanced Custom Fieldsでカテゴリー項目を作る

Advanced Custom Fieldsでタクソノミーの紐付けを行っていきます。
Advanced Custom Fieldsをインストールしたら、左サイドナビに表示された「カスタムフィールド」をクリックします。

「タイトルを追加」の項目にフィールドの名前を入力します。(漢字やカナでOK)

「タイトルを追加」の下にある、青い[+フィールドを追加]というボタンを押すと下記の様な見た目になるので、設定していきます。

①編集ページに表示される名前を入力、漢字やカナでもOK
②フィールド名は英数字で入力
③フィールドタイプは「タクソノミー」にします
④今回は必須項目にしたいので「はい」を選択
⑤タクソノミーはCustom Post Type UIなどでつくった紐付けたいタクソノミーを選択
⑥今回は複数選択可のカテゴリーにしたいのでチェックボックスにしていますが、ラジオボタンなど他の形も選択できます
⑦Save Termsは「はい」を選択します
⑧ルールは「投稿タイプ」+「等しい」+「表示させたいカスタム投稿タイプ」を選択
⑨位置はこのフィールドを投稿画面のどこに表示させるかの指定

これで完成です!
更新を押して情報を保存しましょう。

必須でないカテゴリーを非表示に

投稿画面を確認すると、最初につくっておいたタクソノミー「イベント一覧」と、テキスト入力欄の下に、Advanced Custom Fieldsでつくった「イベントカテゴリー【必須】」が表示されています。

それでは、画像右側にある「イベント一覧」を非表示にし、「イベントカテゴリー【必須】」を「イベント一覧」があった場所へ移動させます。
functions.phpに以下の記述を入力し「イベント一覧」を非表示にします。

//イベント投稿のカテゴリーBOXを非表示に
function event_label_meta_box_remove() {
    $id = 'event_labeldiv';
    $post_type = 'event';
    $position = 'side';
    remove_meta_box( $id, $post_type, $position );
}
add_action( 'admin_menu', 'event_label_meta_box_remove');

event_label
設定したタクソノミースラッグに変更

$post_type = ‘event’
対象のカスタム投稿タイプのスラッグ名に変更

$id = ‘event_labeldiv’
event_labelは設定したタクソノミースラッグに変更しますが、divは必ずつけておいて下さい。
ソースコードで確認すると分かりやすいですが、非表示にしたい「イベント一覧」を大きく囲う div にはかならずタクソノミースラッグ名+divがidとして付与されます。

前述のAdvanced Custom Fieldsの設定画面⑨の項目の位置を「サイド」にすると・・・

「イベントカテゴリー【必須】」のみが表示され、投稿と同じ様に右側に表示されるようになりました!

Advanced Custom Fieldsはまだまだ細かい設定がたくさんできるので、使い方をマスターすると非常に便利ですね。
カスタム投稿タイプのタクソノミーを必須にしたい時の設定をご紹介いたしました。

コーディング業務のご依頼、ご相談の詳細についてはこちらから

最後までお読みいただき、ありがとうございました。

よろしければシェアしていただければ幸いです。

  • このエントリーをはてなブックマークに追加

関連記事

よろしければこちらの記事もお読みください。

WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。

トップへ