南国スキーぶろぐ・Z

岩手県盛岡市のネタを中心としたお出掛け雑記ブログ

functionsでWordPressの管理画面をカスタマイズしまくる備忘録

2017/05/08

Web

移行前の旧ブログでもサクッとまとめた結果、1万PV以上を超える人気記事となったWordPressのfunctions.phpを使った管理画面カスタマイズ。webのお仕事をしていて改めて必要性を強く感じたので、改めてまとめてみました。

WP Admin UI Customizeと言うプラグインを使えば簡単に出来るんですが、このプラグインはひとつの権限しかカスタマイズ出来ません(有償版なら複数権限をカスタマイズ出来るらしい)。でも、先日お仕事で作成したサイトでは、編集者権限1ユーザー、投稿者ユーザー20ユーザーを用意する必要があったんです。そーゆー訳で、functions.phpでの管理画面カスタマイズが必要になったのです。

なお、上の写真はこの記事の内容とは一切関係ありません。

ユーザー権限で条件分岐

そのままfunctionsに書くと、管理者権限でログインした時にも反映されちゃうので、条件分岐で反映されるユーザー権限を指定します。今回は投稿者(author)でログインした時に反映されるように条件分岐させます。

ちなみに他の権限は以下のとおり。

  • 管理者(administrator)
  • 編集者(editor)
  • 投稿者(author)
  • 寄稿者(contributor)
  • 購読者(subscriber)

管理画面上部の管理バーのカスタマイズ

不要な項目を非表示にする

管理バーに表示されている更新情報、コメント、新規追加などの項目を非表示にします。管理バー右側に表示されているアカウント情報はパスワードの変更などが出来てしまうので非表示にします。

全てを消してしまうと、ログアウトが出来なくなってしまったり、現在ログインしているユーザー名も分からなくなってしまうので、それらは次の項目で追加します。

管理バーにログアウトを追加する

右上のアカウントを消すとログアウトボタンも消えてしまします。言うまでもなく困るので、左上に追加します。

管理バーにユーザー名を追加する

誰がログインしているか分からないのも困るので、右上にログインユーザー名を表示させ、ユーザー名をクリックしても新しいパスワードの再発行が出来るプロフィール画面に飛ばないようにリンクを消します。

ダッシュボードの項目を非表示にする

ログイン後に表示されるダッシュボードから不要な項目を非表示にします。全部消すのもなんなんで、概要は表示させておこうかな。

表示オプションとヘルプ

出てても良いけど、下手に弄られて「表示がおかしくなった」とかの問合せが来るのが面倒くさいので、いつも非表示にしています。

サイドバーメニューの非表示設定

一番大事な所。記事を書くだけの投稿者や寄稿者には、本当に必要最低限だけのメニューを表示させたい。でも、デフォルトだとイマイチ痒い所に手が届いていない。と言う訳で必須カスタマイズ。

実際に表示されているメニュー名を追加していくだけで、プラグインによって追加されたメニューも非表示に出来ます。

自分がアップロードした画像のみをメディアに表示させる

投稿者や寄稿者などのユーザーが複数名居る場合、投稿一覧には自分が投稿した記事のみが表示されますが、メディアライブラリには全ての画像が表示されてしまいます。それだと間違って消されたりする可能性があるので、そのユーザーがアップロードしたメディアのみをライブラリーに表示されるようにします。

投稿画面からカテゴリーとタグを非表示にする

カテゴリーはともかく、タグをお客さんに使ってもらうことは殆ど無いので非表示します。表示オプションで消すのも良いですが、functionsに書くことによって元から消せるなら消しちゃいましょう。

サイドバーの投稿を別な名前にする

サイドバーの投稿ですが、お客さんによって「Informartion」だったり「What's New」だったりします。投稿でも良いのですが、カスタム投稿などで投稿が増えた場合に紛らわしいので変えれるなら変えちゃいましょう。

WordPressは奥が深すぎる...

と言う訳で、functions.phpで管理画面をカスタマイズする備忘録でした。こんなのスラスラ書けないっす(笑)。

WordPressって「こう言うの出来ないかなー」って思いつくと大概出来るんですよね。場合によってはプラグイン化までされてたりします。俺は兼務でWebも担当してるんですが、正直、Google先生と、無償で便利なコードやプラグインを公開してくれている勇者によって支えられています(笑)。

世の中のWordPressでサイト制作をしているクリエイター達はどーしてるんでしょうか。やはりスラスラ自分で書いちゃうんでしょうか?

WordPressでサイトを作成するに当たって、PHPとJavaScriptは必須です。これらを自分で自作出来るような人が本当のWeb屋さんなんでしょうね。それに合わせてデザインセンスとphotoshopにIllustratorなどのスキルも必要。Web単価ってもっと高くても良いような気がします。