Entersquare Inc. ホームページ作成の株式会社エンタースクウェア

【WordPress】カスタム投稿タイプでカテゴリ(カスタムタクソノミー)が表示されない。function.php

【WordPress】カスタム投稿タイプでカテゴリ(カスタムタクソノミー)が表示されない。function.php

function.phpでカスタム投稿タイプを作った時に、カスタムタクソノミーで作ったカテゴリが、投稿ページで表示されなかった時のメモです。

解決方法:register_taxonomy()にもshow_in_rest =trueを入れる事

WordPress5になり、エディタ(Gutenberg)がREST APIを使うようになりました。

そこで、function.phpでカスタム投稿タイプを作る時、
Gutenbergを使うようにするには、
REST APIを有効にする必要があります。

register_post_type('post-name',
array(
'show_in_rest' => true, //REST API を有効にする
));

show_in_restにtrueを指定してあげる事で、カスタム投稿タイプでもGutenbergが使えるようになります。

さらに、カスタムタクソノミーでもREST APIを有効にしてあげる必要がありました。

カテゴリやタグを使いたい時は、register_taxonomy()を使うわけですが、ここの中でもshow_in_restにtrueを指定してあげます。

register_taxonomy(
'タクソノミーのスラッグ',
'投稿タイプ',
array(
'show_in_rest' => true, //REST API を有効にする
);
);

これで無事、Gutenbergでカテゴリを選択できるようになりました。

Custom Post Type UI はGutenbergに未対応のよう

どうにも、function.phpで上手く行かなかったので、プラグインで解決しようと思い、Custom Post Type UIを入れてみましたが、

まだGutenbergには未対応のようで、カテゴリ(カスタムタクソノミー)は表示されるのですが、
登録したカテゴリ一覧が表示されず、動作不十分でした。

まだ対応していないようです。

余談ですが、カスタム投稿タイプのスラッグで使える記号はアンスコのみというのをやっと知りました…。

結局リファレンスの読み不足でお恥ずかしい限りですが、
カスタム投稿タイプのスラッグ名で使える記号はアンダースコアのみだったんですね。

ハイフンを使って進めていたところ、なぜか投稿タイプと紐づかない…。
カテゴリは作成できるのに、紐づく事だけができない。

迷いに迷い、プラグインのCustom Post Type UIを使った時に、アンスコのみという事を知りました..。

Solutions

ソリューション

ホームページ作成

Webサイト制作・運用保守

コーポレートサイト/サービスサイト/オウンドメディアサイト/LP/EC

ウェブマーケティングの技術を使ってホームページの作成や保守を承っております。

Webのお悩み

Webのご相談・サポート

運用のお困りごと/集客のお困りごと/運用担当が居なくなったなど

Webに関するお困りごとや、お悩みなどのご相談、サポートを承っております。

その他、アクセス解析、広告運用、SNSサポートなどWebに関する事全般承っております。

詳しく見る