ユーザー権限別-管理画面メニューのカスタマイズ【初心者のためのWORDPRESS -10-】

HOME>Journal>ユーザー権限別-管理画面メニューのカスタマイズ【初心者のためのWORDPRESS -10-】

デザイナーのワードプレス実装ログ#10

 

こんにちは。

デザイナーの野田沢です 。

 

さて#10となる今回はワードプレスユーザー権限のメニューカスタマイズについて紹介します。

 

もともとワードプレスでは下記の権限アカウントが用意されています。

【管理者】Administrator
全の操作が可能

【編集者】Editor
記事投稿、ページ作成、記事管理、ページ管理、アップロード管理、カテゴリー管理、
コメント管理、リンク管理(追加、インポート)、プロフィール変更

【投稿者】Author
記事投稿、記事管理、コメント管理、アップロード管理、プロフィール変更

【寄稿者】Contributor
記事投稿(公開権限なし)、記事管理(公開承認後は変更できません)、プロフィール変更

【購読者】Subscriber
プロフィール変更

 

ほとんどは上記に振り分けられた権限のアカウントで事足りるはずですが、カスタムテンプレートなどを使用して特定の固定ページだけに編集権限を与えたい場合など、編集者や管理者権限を与えるしかありません。

しかしその特定の固定ページ以外は触ってほしくない…など必要のない不具合を防ぐためにどうしても歯痒い部分がでてきてしまいます。

 

カスタム条件

問題を解決すべく、今回は下記を条件に管理画面のメニュー編集をしてみようと思います。

  • ユーザー権限は投稿者ではなく、編集者
  • 投稿に必要なカスタムテンプレートを使用した特定の固定ページのみを編集可能にする
  • ウィジェットの“編集のみ”を可能にする

 

1. 編集者権限に外観の編集を可能にする

まずは編集者にもウィジェットを編集できるようにするために、外観の編集権限を与えます。
functions.phpに下記のコードを追記します。場所はどこでも大丈夫なので自分のわかりやすいところへ。

function add_theme_caps(){
    $role = get_role( 'editor' );
    $role->add_cap( 'edit_theme_options' );
    $role->remove_cap( 'edit_pages' );
}
add_action( 'admin_init', 'add_theme_caps' );

 

上記3行目で外観の編集権限を与えています。
4行目の remove_cap( ‘edit_pages’ ) は固定ページの編集をメニューから削除しています。
固定ページは別に全部編集できてもいいよって場合は4行目は不要です。

 

2. 管理画面のメニューをカスタマイズ

続いてメニューのカスタマイズに移ります。
編集権限を与えたい固定ページのみをメニューに出し、ウィジェットもデフォルトの外観→ウィジェットではなく直接ウィジェットの編集をメニューに出すようカスタマイズしようと思います。

管理画面のカスタマイズはプラグインを使用することにしました。

 

今回使用したのはこちら
Admin Menu Editor
https://ja.wordpress.org/plugins/admin-menu-editor/

Admin Menu Editorを使えばサイドメニューの項目を追加・削除が自在です。とっても便利なプラグイン!

 

まずはウィジェットの編集メニューを作ります。

設定>Menu EditorからインストールしたAdmin Menu Editorを開きます。

新規作成ボタンを押し新しく追加したいメニューを作ります。

Menu title:お好きな名前を設定してください。
Target page:追加したい項目を選びます。今回はウィジェットなので「外観 -> ウィジェット」を選択します。

これで保存すればサイドメニューに追加されます!

もちろん場所も自在に変更できますので、ドラッグでお好きな場所へ。
 
widget

※エラーで保存できない場合はTarget pageでCustomを選択し、URLの欄にご自分のウィジェットページのURLをコピペしてください。

 

この要領で特定の固定ページ編集メニューも追加します。

編集説明の冒頭で固定ページの編集項目を抜いたのがここにつながります。

 

3. 外観メニューを削除

ウィジェット編集専用のメニューを追加したのでサイドメニューに外観はもう必要ありませんね。

固定ページを削除したように外観も削除します。
こちらは固定ページの時同様functions.phpに続けて下記のコード追記します。

 

if (!current_user_can('administrator')) {
function my_admin_style() {
    $role = get_role( 'author' );
    echo '









'.PHP_EOL; } add_action('admin_print_styles', 'my_admin_style'); }

 

こちらが完成のメニュー画面のスクショです。
 
スクショ

 

これで不要なメニューを削除し、必要なメニューのみを表示できました。 スッキリしてわかりやすい!

これならワードプレスの操作に不慣れな方も迷わず投稿できるのではないでしょうか?

ユーザー権限の編集やメニュー編集の際にお試しあれ!

 

それではまた次回。

 

 

今回参考にさせて頂いたサイトはこちら。
http://memo-tan.com/wordpress/351_20150924.html

 

過去記事
▸ 初心者のためのWORDPRESS -09-
▸ 初心者のためのWORDPRESS -08-
▸ 初心者のためのWORDPRESS -07-
▸ 初心者のためのWORDPRESS -06-
▸ 初心者のためのWORDPRESS -05-
▸ 初心者のためのWORDPRESS -04-
▸ 初心者のためのWORDPRESS -03-
▸ 初心者のためのWORDPRESS -02-
▸ 初心者のためのWORDPRESS -01-

Feature

Latest

Category

Archives

Please feel free to contact us