DBMaker

Simple Database Maker

 

これは何

 

WordPressで簡単なデータベースを作成するプラグインです

 

ダウンロード

公式プラグインとして登録しました。

通常のプラグインと同じように”プラグイン”メニューから新規追加してください。

github からもダウンロードできます。

 

使用例

久が原駅前通り末広商店会の店舗リスト

リスト表示は少しカスタマイズしています。

スクリーンショット

 

検索フォーム

 

リスト画面

できること

 

  • CSVファイルのデータを読み込んでデータベースを作成します。
  • 数万行のcsvファイルでも読み込めます(時間はかかります)。
  • データの一括追加、全削除ができます。
  • カスタムフィールドとカスタム分類をサポートしています。
  • 管理画面でデータのソート、抽出、検索ができます。
  • ショートコードを使って簡単な検索フォームを作成できます。
  • csvファイルの読み込みは新規追加のみです。更新はサポートしていません。

 

使い方

 

データベースを作成する

 

  1. 管理画面の”DataBase Maker”を選択して、新規追加をクリックします
  2. タイトルにデータベースの名前を入力します。この名前が管理画面に表示されます(日本語可)
  3. 投稿内容はここでは空にしておきます。全ての設定を入力するとショートコードを使ったサンプルフォームが自動で入力されます。

 

csv設定の入力

 
  1. 「投稿タイプ」に投稿タイプを入力します。
  2. 「フォーマット」にcsvの各列の項目名をカンマ区切りで入力します。空欄は読み飛ばします。後述の項目名を参照してください。
  3. 「ステータス」に読み込んだデータのステータス(下書き、公開など)を設定します。csv の post_statusが指定されていない場合はここで設定したステータスが使用されます。
  4. 「スキップする行数」に先頭から読み飛ばす行数を指定します。スキップしない場合は0を設定してください。
  5. 「データを公開する」をチェックすると読み込んだデータを公開します。チェックを外すと検索フォームと管理画面以外からはアクセスできません。
  6. 「公開」ボタンを押して設定を保存します。

 

csvファイル読み込み

 

  1. 上で保存したデータベース名が管理画面に表示されるので選択します。
  2. 「ファイルを選択」ボタンを押してcsvファイルを選択し、「csv読み込み」を押すと読み込み開始します。
  3. プログレスバーが表示されるので、読み込みが完了するまでお待ちください。
  4. 読み込みが終わるとデータ一覧が表示されます。

 

管理画面でのデータ操作

データリスト
  • 「投稿を検索」ボタンでキーワード検索が可能です。すべての項目が対象です。
  • カスタム分類を使った絞り込み検索ができます。
  • カスタムフィールドで並び替えができます。
  • データの編集ができます
  • 「全消去」ボタンですべてのデータを一括削除できます。

 

検索フォームの作成

  1. 管理画面のDataBase Makeを選択し、フォームを作成したいデータベースの「編集」をクリックします。
  2. 投稿内容でショートコードを使って検索フォームを作成します。詳しくは後述のショートコードを参照してください。
  3. 「更新」ボタンを押して保存し、投稿の表示で検索画面が表示されます

 

サンプル

 

項目名

 

  • post_title: タイトル
  • post_author: 投稿者のログイン名orIDを指定する
  • post_date: 投稿日
  • post_excerpt: 抜粋
  • post_status: 投稿のステータス(draft、publishなど)
  • post_name: スラッグ(データのurlに使われます)
  • post_parent: 投稿の親(使わないと思います)
  • menu_order: 投稿の順番(使わないと思います)
  • tax_{分類名}: カスタム分類名として読み込みます。データはカンマ区切りで複数の分類を設定できます。
  • {カスタムフィールド名}: 上記以外の名称は全てカスタムフィールド名として扱われます。

 

ショートコード

 

dbm_search

 

検索フォームを作成します。formタグを出力します。このショートコードは囲み形式で使います。

 

引数

 

  • post_type : 必須 検索するpost_typeを指定する
  • posts_per_page : 検索結果の表示件数 default : 5
  • pager : ページャーを有効にする場合は空文字以外を設定する default : ”
  • preload:初期状態でデータを取得するには空文字以外を設定する default:”

 

 

dbm_search post_type="database"
・・・
/dbm_search

 

dbm_tax_checkbox

 

カスタム分類のチェックボックスを出力します。複数選択されるとor条件で検索します。

 

引数

 

  • name : 必須 カスタム分類名(“tax_”はいりません)

 

 

dbm_tax_checkbox name="postcode"

 

dbm_tax_select

 

カスタム分類のセレクトボックスを出力します。

 

引数

 

  • name : 必須 カスタム分類名(“tax_”はいりません)
  • multiple : 複数選択可能な場合は空文字以外を設定する。 default : ”
  • size : select タグの表示サイズ

 

 

dbm_tax_select name="postcode"

 

dbm_textbox

 

検索テキストボックスを出力する

 

引数

 

  • name : 項目名を指定する。’s’は全項目を対象としたキーワード検索となる。default : ‘s’
  • required : ‘true’ または ‘false’を指定する。’true’を指定すると必須入力項目として扱われる。 default : ‘false’

 

 

dbm_textbox name="name" required="true"

 

dbm_result_table

 

検索結果をテーブルで表示する。dbm_search囲みの外に指定すること。

 

引数

 

  • label : 必須 thタグのテキストをカンマ区切りで指定する
  • data : 必須 項目名を表示順にカンマ区切りで指定する(labelと順序を一致させること)

 

 

dbm_result_table label="氏名,住所" data="name,addrss"

 

dbm_result_pager

 

検索結果のページャーを出力する。dbm_search囲みの外に指定すること。dbm_search の引数でpagerを指定していないと動作しません

 

引数

 

  • label : ページャーのボタンのラベル名をカンマ区切りで入力する default : ‘first, prev, next, last’

 

 

dbm_result_pager label="最初,前,次,最後"

 

フック

 

dbm_script_load_flag

 

検索用のjavascriptの読み込み用フィルター。true or falseを返すこと。
他のページでショートコードを使う場合は、functions.php等でこのフックを使用しjavascriptを読み込むこと

 

引数

 

  • $script_load : javascript読み込みフラグ

 

例 カスタムフィールドが設定されているページで読み込む

 

add_filter('dbm_script_load_flag', 'my_search_form', 10, 1);
function my_search_form($flag) {
global $post;
if (isset($post->ID) && !$flag) {
// dbm_search_form が1のときは検索スクリプトを読み込む
$meta = get_post_meta($post->ID, 'dbm_search_form', true);
if ($meta == '1') {
$flag = true;
}
}
return $flag;
}

関連投稿