WordPressで特定のカスタム投稿タイプにのみ投稿できるユーザーを追加する際にハマった話

本当にお恥ずかしいお話で投稿するのも憚られる内容なんですが、もしも、万が一でも、同じような内容でハマる人のお役に立てればということで投稿します。

先日作業していた案件で、Wordpressにカスタム投稿タイプ custom を作って、ここにのみ投稿できるユーザを追加するという要件がありました。

functions.php 内で register_post_type を設定し、その際に ‘capability_type’ => ‘custom’ と追加。
User Role Editor という WordPress のプラグインを使って、ポチポチと ‘edit_custom’、’delete_custom’ という具合に次々と “Add Capabillity” していきました。
が、管理画面の左側の管理メニューに、投稿タイプ custom が、管理者権限のあるユーザでログインしていても表示されない!!

ネット上で調べてみてもどこも今までやってきた作業内容が書いてあるばかりで、ドンピシャの解決策はわからず、試行錯誤しながら丸1日…。

こういうときは大概解決策はシンプルなことが多いので、基本に戻ろうという気持ちでもう一度ネット上の解決策をぼんやり眺めていると「複数形」というキーワードがあり、Capabillity のキーワードをどれも ‘_customs’ というふうに複数形にしてみたところ解決!!

‘capability_type’ => ‘custom’

と指定した場合、

‘edit_custom’、’delete_custom’

ではなく、

‘edit_customs‘、’delete_customs

と複数形で書かなければいけないという、ものっすごい簡単で、お恥ずかしい失敗談でした…。
もし、どなたかのお役に立てれば嬉しいです。

カテゴリ:ウェブ

投稿者:sumita

タグ: