まいにちの仕事を記録する

日々淡々と三食を食べ生きているように、日々粛々と文章を書いて生きていきたい。

WordpressとGoogledriveを使って簡単なデータベースサイトをつくってみた。

一人で仕事をしていると、会社員だった頃と違って、

会社に蓄積されていた知見、人的知識データベースの後ろ盾がなくて、心細くなります。

 

インターネットで検索すれば、出てくる情報もたくさんあるのですが、整頓して集約する方法がなければ断片的で、後から困ることも。

ブックマークサービスも便利はいいんですが、ジャンルごとでデータベース化したいですよね、参考リンクや資料。

 

てことで、WordpressとGoogleDriveを使って、データベースサイトを作ることにしました。

サイトにしておけば、私以外の人が情報を探すときのお役立ちにも。

私は出先でもどこでもデータベースにアクセスできるし、広告収入にちょっぴり期待も。

 

作ってみたら、基本的な構造は難しくなく、便利がいいもの。

と、いうことで、どんな手順で準備したのか、手順を記録しておきます。

 

 

STEP1.データベースの設計と基本設定

そもそもデータベースとはなんぞや、というところから説明されている、こちらの記事がとても勉強になります。

wordpressに慣れているひとは、この記事だけで全部つくれちゃうスグレモノ。

 

WordPressでデータベースを構築する | イディア:情報デザインと情報アーキテクチャ

 

私は今回「しごと」にまつわる情報データベースをつくりたかったので、以下のようにGoogleスプレッドシート上で分類しました。

カテゴリーは2階層、タグは2種類。

f:id:tomoko-am:20140410123014p:plain

 

 

次に、基本のカスタムデータの設計。

今回は「就活サイト」に絞って登録していくので、こんなかんじ。

Types」というプラグインを使いました。

f:id:tomoko-am:20140410123240p:plain

 

今後、評点つきのデータベースにしたいときなどは、ここに数値や★★★なフィールドを用意して、表示ソート機能もたせたりとか。

 

Types」はカスタムフィールド作成に便利なプラグインで、カテゴリーごとでのフィールドを変えたり、などの複雑な設定もできます。

以下の記事がわかりやすかったのでご紹介。

WordPressのカスタムフィールド・カスタム投稿タイプ・カスタム分類をまとめて管理するプラグイン「Types」 | webOpixel

 

カスタムフィールドはそのままでは記事には表示されないので、テンプレートにタグを入れることで各記事に表示が可能です。

 

で、私はここらへんの理解が浅いので説明は割愛。。。目下苦戦中。

phpをいじることになるので、カテゴリーごとで違うフィールドを条件分岐で表示、などが実現できます。便利ね。

 

STEP2.データの作成

Googleスプレッドシートにデータを作成します。

プラグインを使って、CSVデータで取り込むことになるので、以下の記事やプラグインのサンプルデータを参考にデータを作成してください。

いっぱいあるデータをCSVでいっきにWordPressに入れる方法 | LEARN FROM-初心者が綴るWEBデザイン勉強ノート

 

私はこんなかんじで作成しました。カスタムフィールドにも対応できるところがいいですよね。

複雑なデータベースにも対応可能です。

f:id:tomoko-am:20140410131035p:plain

 

はじめに作ったスプレッドシートから、カテゴリやタグの分類を参考に流し込みます。

post_idを設定しておくことで、1データ1投稿として管理できるので便利。

今回は固定ページが今後増えること想定して、データベース用のidは100からスタートさせてます。

 

STEP3.データ流し込み、表示確認。

Googleスプレッドシートから、csvデータとしてDLして、流し込みます。

先述のプラグインで、インポート機能にCSVが増えるのでそちらから。

 

流し込むと…

f:id:tomoko-am:20140410133321p:plain

 

こんな感じにできました!

タグもちゃんと機能してます。

 

f:id:tomoko-am:20140410133354p:plain

 

今回使ったテーマはこちら。

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

*1:ちなみに、今回はまるっとwordpressサイトをデータベース化する計画でしたが、既存のwordpressサイトに新しくデータベースをくっつけることも可能です。

本格的にカスタムフィールドを検索する仕組みになるので……私は以下サイトから理解を深めて今後作ってみようと思います。

WordPressのカスタムフィールドの使い方が初心者でも超わかる記事8選 | ネタワン

 

Wordpress、おそらく5年ぶりぐらいにカスタムフィールド活用したので、進化っぷりにびっくりしました。そりゃいろんなサイトがWPで構築されるわけだ……アンチwordpress、アンチPHP派閥のエンジニアのみなさんの気持ちもわかるんですが、商品として加工して売り出すには、とてもいい素材だと思いました。以上。