え?WordPressの管理画面て独自にカスタマイズできるの?

WordPress管理画面カスタマイズ

今回のテーマはWordPressの独自管理画面作成についてです。

WordPressには元々、管理者が使うための画面が用意されています。

精鋭の開発者が作成しているだけあってカスタマイズ性も高く、バージョン3.8からはレスポンシブデザインにもなっているため、サイトを管理するだけならこの管理画面だけで足りてしまう場合がほとんどです。

しかしながら、会員ログインなどを用意する会員制サイトとして運用したい場合や、複数の人間でサイトを管理していて特定の機能だけを使わせたい、といった場合に、最初から用意されている管理画面だけだと難しい場合があります。

会員制サイトの場合、通常のWordPressの管理画面だと入力チェックの仕組みや、メニューを自由にカスタマイズするなど、対応が難しい機能がいくつか存在すること、プロフィール編集画面などにも不必要な項目が残ってしまうことなどから、カスタマイズの労力の割には、完全自由にカスタマイズすることができません。

また、複数人のユーザーでWordPressを管理している場合に、「特定の機能だけを使わせたい」といった際にも権限管理を行えばある程度は実現できるのですが「ダッシュボード」や「プロフィール編集」など、不必要な項目が残ってしまうことは否めず、シンプルに運用したいといった場合には、WordPressの管理画面は逆に足かせになってしまうことがあります。

そこで是非提案したいのが、「独自管理画面を作ってしまおう」ということです。

▼WordPressの管理画面を構成する機能

WordPressには非常にたくさんの機能が用意されており、簡単に言ってしまえば、WordPressの管理画面もその機能を使って作られているにすぎません。

たとえば「is_user_logged_in()」という関数は、WordPressにユーザーがログインしているかどうか、というのを判断できます。

また「user_can()」という関数は、そのユーザーがどういったことができるのか、どういった権限を持っているかということを判断できますし、「wp_insert_post()」という関数は、プログラム側から任意に「投稿」を行うことができます。

このような機能を使って、「ログイン画面」「投稿画面」などを、「固定ページのテンプレート」として機能別に用意し、それぞれをWordPressの「固定ページ」として作成・登録していくことで、実は割と簡単に管理画面を作成することができてしまいます。

▼画面デザインはどうするの?

ここでひとつ問題となるのは管理画面のデザインです。

自分でゼロから作成してしまってももちろん問題無いのですが、ここは先駆者が作った便利なフレームワークを利用することで、さらにコストを下げることができます。

それが「Bootstrap」です。

以前は「TwitterBootstrap」と呼ばれていましたので、耳にしたことがある方は多いのではないでしょうか。

一昔前にとても話題に上ったウェブデザインのフレームワークですが、これが管理画面との相性がとても良いのです。

PHPでプログラミングを行う際に利用するフレームワークとして、有名なものに「CakePHP」や「FuelPHP」といったものがありますが、そういったフレームワークでも積極的に管理画面として利用されているのが、この「Bootstrap」です。

レイアウトのパーツから、フォームのパーツ、入力エラーが起きた際の表現からモーダルウィンドウのダイアログ、ページングのボタンなども含め、管理画面に必要な機能は最初からほとんどそろっており、あとはパーツを組み合わせてちょっとアレンジするだけ。

これだけで
「見た目もきれいで、使いやすく、 レスポンシブに対応したユーザビリティの高い管理画面」が、ササッと用意できてしまうのです。

▼工夫次第でいろいろなことができる

独自管理画面の有用性については理解していただけましたでしょうか?
下記では僕たちの作成した独自管理画面で、有用なものを紹介したいと思います。

1. GPS機能に連動した簡単登録フォーム

スマートフォンなどGPS機能が利用できる端末からの投稿限定ですが、現在の位置を投稿の情報として自動的に付帯し、WordPressに登録することが可能です。

WordPressにログインせずとも投稿できるように作成することで、一般のユーザーが任意に登録できるように作成しました。

写真の共有サイトやスポットの共有サイトなど、「位置情報」を活用したいサイトなどに非常に有用です。

2. 入力制限を設けた登録フォーム

WordPressの管理画面で入力制限を設けようとすると、元々入力制限の方法が管理画面側で用意されていないため、JavaScriptなどでチェックするか、WordPressのフィルターフックなどを用いて、多少手間のかかる方法でチェックをかける必要があります。

そこで、独自管理画面を用いることで、JavaScript等の不安定な要素に頼ることなく、簡単にチェックすることが可能です。

タイトルは●●文字以内、本文はHTMLタグを自動的に排除し●●文字以内、といったフィルター処理も含めた複雑な投稿画面を用意することが可能です。

3. 会員専用の管理画面

会員サイトを構築した場合、会員のプロフィール編集ページや、マイページ、課金処理などを用意する必要が出てきますが、独自管理画面はまさにそういった場合に最適な選択です。

こういった複雑な処理はWordPressの管理画面でやろうとすると、不自由な割にコストがかかってしまいます。

また、会員に「WordPressを使ってるんじゃん」という意識を与えてしまい、適切に権限管理をしていないと、不正な投稿などをされる恐れがあります。

例)投稿機能をメニューから隠しただけで、権限で規制をしていない場合、投稿画面のURLを直打ちされてしまうと投稿画面が表示されてしまい、そこからいくらでも不正な投稿を行うことができてしまいます。

すでに独自ウェブアプリケーションのプラットフォームになりつつある「WordPress」ですが、このようなカスタマイズの方法を知っておくことで、さらにオリジナリティが高く、セキュリティに配慮した堅牢なウェブサイトやアプリケーションを提供することが可能になります。

「WordPress」は「WordPress」だから、という先入観を捨てて、何でもできるウェブアプリケーションプラットフォームであるということを、是非ご理解いただければ幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

インスパイアデザインの取締役兼、エンジニア。WordPressのテーマ・プラグイン開発を年間100件以上、独自のフレームワークを用いて開発をしています。