【WordPress】管理画面(ダッシュボード)のメニューをカスタマイズ。

最近 WordPress を弄って遊んでいるのだけれど、ちょっと手の込んだことをしようとすると、流石に面倒なのね。

管理パネルのサイドにあるメニューをカスタマイズしたいな、と思ったの。具体的には、

  • マルチサイトを運用していて、自分は「ネットワーク管理者」。
  • 子サイトを管理している「サイト管理者」には触って欲しくないメニューがある。
  • なので子サイトの管理画面から、そのメニューを見えなくしたい。

…というようなことをやりたいので、プラグインを探してみた。で辿り着いたのは、どうも定番のプラグインらしい『Admin Menu Editor』。

  → WordPress > Admin Menu Editor << WordPress Plugins

まずは普通にインストール / 有効化して、ネットワーク管理者直営のサイトのダッシュボードへ移動。"設定" > "Menu Editor" で設定してみる。

setup.jpg

カスタマイズしたいメニュー項目をクリックして、"Required capability" セレクトボックスから、このメニューを表示しても良いユーザーレベルを選択。

  • Administrator:サイト管理者
  • Author:投稿者
  • Contributor:寄稿者
  • Editor:編集者
  • Subscriber:購読者
  • Super Admin:ネットワーク管理者

とりあえず試しに、"設定" > "パーマリンク設定" をネットワーク管理者のみに表示して、サイト管理者以下では表示されないようにしてみます。つまり "パーマリンク設定" の Required capability を "Super Admin" に設定。そして設定を保存。

さて、子サイトの「サイト管理者」アカウントで、そのサイトのダッシュボードにログインしてみる。設定前と設定後のキャプチャ画像。

wp_bf.jpg

おお、見えなくなった。

これで「サイト管理者」レベルでは、パーマリンク設定を弄ることができなくなりました。設定を弄りたい時には「ネットワーク管理者」のアカウントで、このサイトの管理画面にログインすれば大丈夫。「パーマリンク設定」サブメニューが表示される筈です。

そして例えば "設定" メニューそのものをネットワーク管理者以外から見えなくしたいときは、"設定" メニューと、それに含まれるサブメニュー( "一般" , "投稿設定" , ..... )すべての "Required capability" を Super Admin に変更してやれば良いのだな。

よしよし。

あとは、「ネットワーク管理者が設定したプラグイン設定などを、子サイトすべてにコピーして反映させる」みたいな機能を持ったプラグインがあればむっちゃ便利なのだけれど、あるのかね。

プラグイン検索で、

 「こんなことしたい!」 → 「それならこのプラグイン!」

みたいに逆引きっぽいことは出来ないのだろうかな。探すの面倒くさい。初心者は辛い。辛いけれど、それが楽しい。

カテゴリ: