オリジナルのユーザー権限グループのユーザーが「作成者」に表示されない場合の対処方法【ワードプレス】

2019年8月10日

ワードプレスでサイトを制作していると、デフォルトのユーザー権限グループの他にカスタムした権限を与えたオリジナルのユーザーが必要になる事があります。具体的にはadd_roleなどの関数を使い自分で作成したり、ユーザー権限関連のプラグインを使用するわけですが、追加したユーザーが投稿一覧や各記事の編集ページに表示されない事があります。

今回は、このようにカスタマイズして作ったユーザー権限グループに属しているユーザーが「作成者」に表示されず、記事の作成者が変更できない場合の対処方法についてまとめてみたいと思います。

ユーザーレベルが原因の場合が多い

きちんと必要な権限を与えているにも関わらず「作成者」の中に表示されない場合、ユーザーレベルが原因の場合が多いでしょう。

ご存知の方には余計な話ですが、ユーザーレベルは0~10まであり、ワードプレスの古いバージョン(3系あたり)まで使用されていました。しかし既にワードプレスで非推奨となっていますので、気にする必要が無いように思えます。しかし実際は、現在のワードプレスのデフォルトの5つのユーザー権限グループ(管理者・編集者など)にも、しっかり設定されています。しかし、新規ユーザー権限グループを作成しても、ユーザーレベルを設定していない場合ユーザーレベルが0の場合、このグループに属するユーザーは「作成者」の中に表示されません。

つまり、作成したユーザー権限グループのユーザーレベルを1以上にしてあげれば良いわけです。

プラグインは使わずユーザー権限グループを作成した場合

add_roleを使って自分で権限の設定をする場合は、以下のように、capabilitiesの配列の中に、level_0とlevel_1を追記しましょう。これで「作成者」の中に表示され、変更なども可能になります。

※レベル以外のcapabilityの設定は適当に書いてあります。(念のため。。。)

デフォルトの5つのユーザー権限グループは「購読者」以外すべて最初から1以上になっています。何かの都合で、カスタマイズして作られた既存のオリジナルユーザー権限グループに、add_capを使って権限を追加するという場合もあるかもしれません。この場合も同様に、level_0とlevel_1を追加してやればOKです。

プラグインを使用してユーザー権限グループを作成した場合

user_role_editorなど、ユーザー権限がらみの有名プラグインも多いので、使用して作成する場合も多いでしょう。

この場合は、プラグインの設定でユーザーレベルの変更ができるはずです。レベル1以上に設定しましょう。

それでも表示されない場合

ユーザーレベルの変更をする前に、そのユーザー権限グループとして作成してしまったユーザーはそのままでは更新されないようで、レベルを追記しても反映されません。

こういった場合は、一度別の権限グループに変更してから、元に戻して保存しなおしてみて下さい。

最後に

いかがでしょうか。「作成者」に表示されたでしょうか。

あまり遭遇する事のない、ニッチなテーマになってしまいましたが、忘れてしまうとハマりそうなのでまとめてみました。

もし、この記事の内容を読んでも「作成者」に表示されないという場合は、各種権限の設定自体が上手くできていないのかもしれません。記事の編集に関する権限などを見直してみて下さい。

関連のある記事

親メニューなどをリンク無しに出来ない時の解決方法【ワードプレス】

親メニューなどをリンク無しに出来ない時の解決方法【ワードプレス】

記事を読む

ワードプレスで外部CSSやjsの読み込みコードからtype属性を消す方法

ワードプレスで外部CSSやjsの読み込みコードからtype属性を消す方法

記事を読む

ショートコードでWarning: Illegal string offsetエラーが出る時の解決策

ショートコードでWarning: Illegal string offsetエラーが出る時の解決策【ワードプレス】

記事を読む

抜粋の末尾に付く&ltとか&nbsとか&gtやらを削除する方法【ワードプレス】

抜粋の末尾に付く&ltとか&nbsとか&gtやらを削除する方法【ワードプレス】

記事を読む

remove_filterやremove_actionが効かない時に疑ってみるべき事【ワードプレス】

remove_filterやremove_actionが効かない時に疑ってみるべき事【ワードプレス】

記事を読む


目次へ
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages