現在、事業用サイトのリニューアル作業を進めています。

WordPressの管理画面をカスタマイズ!

WordPressのデフォルトの管理画面は、使わない機能やプラグインの管理メニュー画面など、管理者にとっては必要でも、編集者や投稿者には不要なものが多かったり、アクセスされて変更されると困ったりするものも多いですよね。何より、目的なものがパッと目に入らないのは使い勝手としては良くない……今回は、WordPressの管理画面をカスタマイズする話です。
実は、プラグインを使わないで子テーマ側でカスタマイズする方法の方が参考ページからコピペするだけなので簡単だったりもするのですが、保守管理の観点から見ると、保守管理しなくなった後、クライアント側で対応するときにカスタマイズできなくなってしまったり、元に戻す方法が分からなくなってしまうので、今回はプラグインで対応できる範囲のみ対応することにしました。

目次

使用するプラグイン1「Admin Menu Editor」

日本語に対応しているようで、対応していないので分かりにくいですが、やりたいこととしては、【不要なものを非表示にしたい】だけなので、不要なメニューのところをクリックして「Extra capability」の欄に「管理者(administrator)」で設定していくだけでOKです。
たまにサブメニューも管理者にしないと消えないメニューもあるので、それだけご留意ください。(特に、プラグインが追加したメニュー)

サイトヘルス機能は権限を付与して編集者でも利用できるようにしています。定期的にチェックはしていますが、タイミングによってはクライアントが利用中に気づいて「チェックしてないじゃない!」と言うことは重々承知していますが、そうした当方への印象悪化に繋がりかねないデメリットよりも、サイトヘルスについて心がけてほしいし気にしてほしいと願っています。

画面で見たい方は、参考ページに画面スクリーンショット付きで載っているので、こちらを見ると分かりやすいです。

使用するプラグイン2「Ultimate Dashboard – Custom WordPress Dashboard」

Pro版を適用するなら、「Admin Menu Editor」が不要になりそうなんだけど、無料で使用しているので、両方のプラグインを使って対応しています。

本当ならプラグインのお知らせも非表示にしたかったんだけど、プラグインで制御できなかったので妥協した。
更新通知はあえて表示。管理者以外も注視した方が良いと考えているので。

管理者もいらなかったりする情報も多いので、共通で非表示にしているのですが、日本語はあまり対応しておらず、感覚で使うのは難しそうなので、使用方法について書くと、メニュー「Ultimate Dashboard」から「setting」を選択して「Remove Individual Widgets」から不要なものにチェックを入れるだけです。
もっと色々できますが、使用用途は【不要なものを非表示にしたい】だけなので、これで特に困らないはず。

使用するプラグイン3「User Role Editor」

キャッシュ系プラグインを入れているので、編集者もキャッシュクリアできないとトラブルを招いてしまいます。
そのため、編集者に一部の権限を付与するため、「User Role Editor」を導入します。
本当は独自の権限グループを作って対応した方がいいのですが、やりたかったことは一部だけなので、今回はそのまま「編集者」に対応しています。

設定方法は、「ユーザー」メニューの中にある「User Role Editor」を選択して、「編集者」の役割に対して「manage_options」にチェックを入れ、更新をするだけです。

ただ、これを有効にすると、編集者も設定変更できてしまうのでメニューは隠さないといけません。(実は、URLを入力したらアクセスできちゃうんだけど、そこまでするなら管理者権限付与でいいと思う)

隠せないものは上の「カスタマイズ」とかテーマの設定くらいなので、管理者からしたら「左側のメニューから設定しますね!」で対応できる。そのため、検証ツールを使ってIDを調べ、CSSで非表示にしました。CSSとJSを管理画面から対応できるプラグインを使用しているので、管理者からいつでも解除ができるようにしています。

権限についての説明は、次の参考ページが参考になると思う。

使用するプラグイン4「Gutenberg Block Manager」

ブロックエディタは多機能だし、見た目も分かりやすくなるので、たくさん活用してほしいところではあるけれど、たくさんありすぎると「何を使ったら良いのか分からなくなってしまった」ということが起きるし、「実際に使ってみたけど望んだ表示じゃないので何か指摘されそうな気がする」といったブロックも中にはあったりします。シンプルによく使うブロックだけでまとまっていた方が迷いにくいしトラブルに繋がりにくいので、思い切って非表示にして整理しました。

使用するプラグイン5「Admin Columns」

記事一覧画面の項目の並び順を使いたい順に並べ替えたり、正直に要らない項目があれば非表示にしたりして最適化します。
余計なデータが表示されていると、それだけで「難しそう!」と感じたり、ストレスに感じたりするので。

自分の環境だけだからなのか、原因が定かではないのだが、プラグインを有効にして設定して一覧画面を見たらチェックボックス以外消えてしまっていた。一度プラグインを無効にして有効に戻したら直ったので、読み込みがたまたまおかしかっただけの可能性もある。同様な現象が発生した場合は、プラグイン無効化した後で有効化すると直ると思う。

余談1「子テーマのfunctions.phpでカスタマイズしたもの」

実のところ、設定の有無が必要な要素はなるべくプラグインで対応し、管理画面上から変更できる状態にするのがベストだと考えている。
ただ、中にはプラグインが多すぎたり、「この設定をするなら、構造から見直してリニューアルしてくれ」といったものも一部あるので、そのときは子テーマのfunctions.phpでカスタマイズしている。

ただ、後に、コードスニペットプラグイン「Code Snippets」の存在を知ったので、以下の対応例だけなら、子テーマを作ることなく対応できると思う。

(対応例)

  • WordPress 日付別一覧ページを生成させないようにする
  • パーマリンクから「category」の削除と関連して対処するもの
  • 固定ページ末尾のスラッシュありで統一するためのもの
  • ログイン時以外はdashiconsファイルを無効にする
  • お問い合わせ用の拡張(スパム対策、お問い合わせ完了ページへの遷移など)
  • その他、SEOプラグインで重複してしまった設定を防ぐためのもの

HTMLのセクション要素の組み方は、専門家でも意見が分かれたりするので、クライアントのサイトを作るときは許容ができるけど、WordPressのURLやプラグインで重複してしまった設定はどうしても許容できなかった。これは「設定の有無の切り替えが発生しない=発生するなら構造から再見直しが必要になるもの」だから、実行している。その後、テンプレートファイルの改造が不可避になったので、そのまま子テーマで管理しているが、テンプレートファイルの改造が不要になったのなら、コードスニペットのプラグインに乗り換えたいと考えている。

ブログサイト以外では日付別一覧ページは不要と考えています。更に言うなら、日記じゃない限り、ブログサイトでもカテゴリー別で良いように思える。今は日記サイトとして公開するってことって少ないようにも思います。

保守管理をしていたとしても、管理者アカウントもきちんと用意した上で資料化等を行い、相手にも共有しています。
何かあって対応できなくなったら大変なので、こちらでも情報は持っていてもいいけど、権限は向こうにある(向こうにもある)状態がベストだと考えています。

余談2「トラブル編」

実は、「Custom Dashboard & Login Page – AGCA (AG Custom Admin)」を入れていたとき、何らかの形で干渉してしまっていたのか、様々なトラブルが発生してしまいました。便利なプラグインなので、バージョンアップで直っていると嬉しいです。

今は、このプラグインと他のプラグイン等が何らかの形で干渉したと発覚するまでが大変でした……。

トラブル1「自動でセッションが切れる、勝手にログアウトされるできごとが頻繁に発生する」

実際に体験すると、イラッとしますよ。原因が分かるまで何回か本気でキレかけた。
WordPressのログイン状態保持するための対策を色々試してみたけど、すべて効果がなく。
タブを変えたり戻ったりすると発生しやすく、セキュリティ対策プラグインやキャッシュ系プラグインは関係ない模様(機能をOFFにしても意味がなかった)
キャッシュ系プラグインを無効にしても効果はなく。このプラグインの利用をやめて以降は再発していません。

トラブル2「SWELLの見出しの出力ソースが見出しタグ(例:h2)にならず、divタグになってしまう(装飾が消えてしまう)」

デフォルトまたはセクションの設定をすると、CSSクラスが付与されるのですが、CSSクラスが付与されないときに発生します。
そのため、デフォルトまたはセクションを切り替えてから更新すると元に戻ります。頻発したんだけど、このプラグインを入れていないサイトでは何も起こりませんでした。このプラグインの利用をやめて以降は再発していません。

トラブル3「日々使っていると、表示や動作が重くなる…!」

こればかりは、このプラグインとは無関係でした。

更新・投稿頻度が高いサイトと今までほとんど関わっていなかったこと、重複クエリが発生していなかったので、気づいていなかっただけで、キャッシュ系プラグインの宿命といいますか、キャッシュデータの影響で重複クエリが増えてしまって重たくなってしまったようです。
SWELL特有の現象とは限らず、重複クエリが発生するなら発生する可能性は高いと見ています。

キャッシュ保持期間を1日にしていても変わらなかったので、たまにキャッシュクリアしてあげると良さそうです。

今回の話とはズレてきてしまうので、別のタイミングで高速化対応について触れるときにでも書こうかなと思います。

長い間ログインせず放置しているなら重くなっても自己責任ということで。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

サイト運営者

クリエイトアコード

ホームページ(改善・改修)・SEO対策・Web集客のお手伝い屋さん【Web技術サポーター&Webコンテンツサポーター】

ソフトウェア&ゲーム開発会社でプランナーとして従事しながら、ディレクション・マネージメント、資料作成の知識を実践形式で学ぶ。その後はリサイクルショップのWebサイト担当者として従事しつつ、SEOやWordPressの実践形式での研究を深めた。転職をした会社や兼業(副業)としての活動でも今までに学んだ知識と技術を活用しながらも更なる向上に努めていたが、様々な人のお悩み解決をしていきたいという思いが強くなったため、転職から二年後に独立。2022年5月10日に開業して個人事業主になった。
現在は、今までに得た知識や技術(SEO・WordPress・Webマーケティング・Web集客)を活かしながら「人と人を調和し、創造を支援する」「自分で色々動きたいので技術面をサポートしてほしい人や自分も考えたいが技術面については知見がないのでフォローしてもらいたい人を応援する」ことを目的に「訪問者に届けるコンテンツを作る」お手伝いをするための活動をしている。

事業の他、ソフトウェア&ゲーム開発会社時代に無理をした働き方をしたために自律神経のバランスが乱れやすいことや精神的にもダメージを負ったことから「抑うつ状態」と診断されて数年かけて寛解した経験から、同じような人が苦しまずに働くことができるように自身を実験台に「スキルを活用した生活に困らないかつ無理をしない働き方」の確立を目指している。


ご相談・お問い合わせをお待ちしています!

ホームページ制作・リニューアル・運用・SEO・Web集客、Webマーケティング・Webサイト制作技術・タスク・スケジュール・プロジェクト管理や業務改善のお悩みなどを遠慮なくご相談ください。

資料のダウンロードをご希望の方へご案内です

サービスのご利用を社内で検討したい方のために、実績やサービス概要、料金表などのクリエイトアコードの案内資料をPDFでダウンロードすることができます。ご自由にダウンロードください。

目次