MENU CLOSE

【WordPress】Gutenbergで
カスタム投稿に
タクソノミーが表示されない時

Gutenberg wordpress
Gutenberg wordpress

Gutenberg使ってますか?
WordPress5.0から採用された新しい管理画面のエディターです。
今回はClassic Editorをやめて、Gutenbergに変更した時に起きた問題を解決した時のメモ。
ちなみにカスタム投稿タイプやタクソノミーをプラグインでなくfunctions.phpで実装している環境下での解決策になります。

カスタム投稿タイプにGutenbergを適用する

デフォルトではカスタム投稿タイプにはGutenbergが適用されません。
functions.phpregister_post_type()のオプションに'show_in_rest' => trueを追記します。

register_post_type('blog', [
  'labels' => [
     'name' => 'ブログ'
     'singular_name' => 'ブログ'
  ],
  'public'       => true,
  'has_archive'  => true,
  'show_in_rest' => true, //追記
  ・・・(他の設定は省略)
]);

これでGutenbergがカスタム投稿タイプのエディタにも適用されます。

カスタム投稿タイプに設定したタクソノミーがない

タクソノミーもそのままでは表示されません。

functions.phpregister_taxonomy()にも'show_in_rest' => trueを追記します。

register_taxonomy(
  //タクソノミースラッグ名
  'blogtypes',
  //カスタム投稿タイプ名
  'blog',
  [
    'public'            => true,
    'hierarchical'      => true,
    'label'             => '記事カテゴリ',
    'show_ui'           => true,
    'query_var'         => true,
    'rewrite'           => true,
    'singular_label'    => '記事カテゴリ',
    'show_in_rest'      => true, //追記
    'show_admin_column' => true
  ]
);
‘show_in_rest’ => true を追記

これで「ブログ」カスタム投稿に「記事カテゴリ」タクソノミーが表示されるようになりました。

予約語に気を付ける

ある投稿タイプで上記と同じように設定をしても表示されないことがありました。
小一時間悩んでregister_taxonomy()の公式リファレンスを読むと「予約語」の存在に気づきました。

関数リファレンス/register taxonomy

予約語

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy#.E4.BA.88.E7.B4.84.E8.AA.9E

タクソノミースラッグ名にtypeという予約語を使ってしまっていたのが原因でした。
旧エディタではなぜか表示されていたので全くの盲点で時間を無駄にした…笑
こういう凡ミスでハマるとググってもぜんぜん解決できない場合が多くて焦るので、ちゃんとリファレンスは読むように気を付けましょう。←
スラッグは多少長くてもわかりやすい一意の名前を付けるようにしましょう。パーマリンクはrewriteオプションで変更できるし。

おわりに

弊社では新しく導入するWordPressではGutenbergを入れるようにしています。
今回のように細かな仕様変更で詰まる場合もありますが、そこはさすがWordPress。ググればヒントが必ず見つかります。
予約語は盲点でしたが・・笑

記事一覧

RELATED

Transients API
inoue
inoue
TIPS

【WordPress】Transients APIを使ってデータをキャッシュする方法

Flatpickr
inoue
inoue
TIPS

Flatpickrで日時入力をカレンダー表示にする

BASE DESIGN THEME
inoue
inoue
TIPS

BASEテーマカスタマイズ【実践編】見出しの文言を変更できるようにする

BASE DESIGN THEME
inoue
inoue
TIPS

BASEテーマカスタマイズ【デザインオプション編】テーマに新しい機能を加える方法

BASE DESIGN THEME
inoue
inoue
TIPS

BASEテーマカスタマイズ【準備編】カスタマイズに必要な前提知識について

BACKGROUND VIDEO
inoue
inoue
TIPS

動画をWebページの背景に埋め込む時のテクニック

NEW POSTS

svg-audiovisualizerAudioVisualizer [ howler.js + SVG ]
inoue
inoue
TRY

【howler.js】ストリーミング音源からオーディオビジュアライザーを作る

Simple GA Ranking
inoue
inoue
TRY

Simple GA Ranking[ver2.1.6]が表示されないので調べてみた

Sass @import → @use
inoue
inoue
TRY

【Sass】@importを@useに置き換えてみる《FLOCSS対応》

Stripe Payment Links
inoue
inoue
TRY

コーディング一切不要のStripe Payment Linksで決済機能を試してみる

BASE Partners
inoue
inoue
COLUMN

【BASE Partners】有料テーマの無償提供特典について

BASE Partners
inoue
inoue
COLUMN

BASEオフィシャルパートナーに認定されました

ブログ記事一覧
  • HOME
  • TIPS
  • 【WordPress】Gutenbergでカスタム投稿にタクソノミーが表示されない時