【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を使った時に、アンスコのみという事を知りました..。