WordpressとGoogledriveを使って簡単なデータベースサイトをつくってみた。
一人で仕事をしていると、会社員だった頃と違って、
会社に蓄積されていた知見、人的知識データベースの後ろ盾がなくて、心細くなります。
インターネットで検索すれば、出てくる情報もたくさんあるのですが、整頓して集約する方法がなければ断片的で、後から困ることも。
ブックマークサービスも便利はいいんですが、ジャンルごとでデータベース化したいですよね、参考リンクや資料。
てことで、WordpressとGoogleDriveを使って、データベースサイトを作ることにしました。
サイトにしておけば、私以外の人が情報を探すときのお役立ちにも。
私は出先でもどこでもデータベースにアクセスできるし、広告収入にちょっぴり期待も。
作ってみたら、基本的な構造は難しくなく、便利がいいもの。
と、いうことで、どんな手順で準備したのか、手順を記録しておきます。
STEP1.データベースの設計と基本設定
そもそもデータベースとはなんぞや、というところから説明されている、こちらの記事がとても勉強になります。
wordpressに慣れているひとは、この記事だけで全部つくれちゃうスグレモノ。
WordPressでデータベースを構築する | イディア:情報デザインと情報アーキテクチャ
私は今回「しごと」にまつわる情報データベースをつくりたかったので、以下のようにGoogleスプレッドシート上で分類しました。
カテゴリーは2階層、タグは2種類。
次に、基本のカスタムデータの設計。
今回は「就活サイト」に絞って登録していくので、こんなかんじ。
「Types」というプラグインを使いました。
今後、評点つきのデータベースにしたいときなどは、ここに数値や★★★なフィールドを用意して、表示ソート機能もたせたりとか。
「Types」はカスタムフィールド作成に便利なプラグインで、カテゴリーごとでのフィールドを変えたり、などの複雑な設定もできます。
以下の記事がわかりやすかったのでご紹介。
WordPressのカスタムフィールド・カスタム投稿タイプ・カスタム分類をまとめて管理するプラグイン「Types」 | webOpixel
カスタムフィールドはそのままでは記事には表示されないので、テンプレートにタグを入れることで各記事に表示が可能です。
で、私はここらへんの理解が浅いので説明は割愛。。。目下苦戦中。
phpをいじることになるので、カテゴリーごとで違うフィールドを条件分岐で表示、などが実現できます。便利ね。
STEP2.データの作成
プラグインを使って、CSVデータで取り込むことになるので、以下の記事やプラグインのサンプルデータを参考にデータを作成してください。
いっぱいあるデータをCSVでいっきにWordPressに入れる方法 | LEARN FROM-初心者が綴るWEBデザイン勉強ノート
私はこんなかんじで作成しました。カスタムフィールドにも対応できるところがいいですよね。
複雑なデータベースにも対応可能です。
はじめに作ったスプレッドシートから、カテゴリやタグの分類を参考に流し込みます。
post_idを設定しておくことで、1データ1投稿として管理できるので便利。
今回は固定ページが今後増えること想定して、データベース用のidは100からスタートさせてます。
STEP3.データ流し込み、表示確認。
Googleスプレッドシートから、csvデータとしてDLして、流し込みます。
先述のプラグインで、インポート機能にCSVが増えるのでそちらから。
流し込むと…
こんな感じにできました!
タグもちゃんと機能してます。
今回使ったテーマはこちら。
https://wordpress.org/themes/carton
カスタムメニュー設定などでサイドバーで表示させる項目をつくってお好みにどうぞ。
CHECK.データ更新時にはリビジョン設定に注意。
さて、post_idで、1記事ごとにデータを持たせたのですが、
更新時には、Wordpressの便利機能がちょっとジャマなので、もう少し設定が必要です。
WordPressには、投稿履歴を自動的に保存する「リビジョン」という機能があります。「リビジョン」は一定間隔で繰り返し保存するため、記事投稿にかかる時間が長いほど多くの履歴が保存されます。
記事IDの値がどんどん大きくなるのは、その履歴1つ1つに記事IDが割り振られるためです。
これに対処するために、リビジョンの設定をカスタマイズできる「Revision Control」や、リビジョンを一括して削除できる「Better Delete-Revision」といったプラグインがあります。
引用元-WordPressの記事ID・カテゴリIDを確認する方法
つまり、スプレットシート上でデータIDを設定したIDが、記事をちょっと手動でいじったときに発生したリビジョンIDに登録されていたので、CSVアップロード時にエラーが!なんてことが、発生します。(私はこれで一晩悩んでしまいました。)
リビジョン機能をオフにして、過去に発生していたリビジョンを削除して、データ更新をすることで、シンプルなデータベースの出来上がりです。
◆「しごと図書館」データベース公開準備中
と、いうことで、今回作った「しごと図書館」は、目下データ収集中です。
ジャンルごとに少しずつ増やしていく予定ですが、まずは2015卒対象の就活サイトのデータを揃えて来週には公開予定。
ドメインなど準備中なので、公開できたら以下のTwitterアカウントにてご報告します。
興味のある方はぜひこちらまで。
・しごと図書館Twitterアカウント
http://twitter.com/shigoto_lib
今後も新しいジャンルに出会うたびにデータベースをつくりたいところ。
そして、私のしらないデータベースにもアクセスしてみたい。
興味のある方はぜひ、オレオレデータベースをつくってみてください。
そして、ぜひぜひ、教えてください!
*1:ちなみに、今回はまるっとwordpressサイトをデータベース化する計画でしたが、既存のwordpressサイトに新しくデータベースをくっつけることも可能です。
本格的にカスタムフィールドを検索する仕組みになるので……私は以下サイトから理解を深めて今後作ってみようと思います。
WordPressのカスタムフィールドの使い方が初心者でも超わかる記事8選 | ネタワン
Wordpress、おそらく5年ぶりぐらいにカスタムフィールド活用したので、進化っぷりにびっくりしました。そりゃいろんなサイトがWPで構築されるわけだ……アンチwordpress、アンチPHP派閥のエンジニアのみなさんの気持ちもわかるんですが、商品として加工して売り出すには、とてもいい素材だと思いました。以上。