これは何
WordPressで簡単なデータベースを作成するプラグインです
ダウンロード
公式プラグインとして登録しました。
通常のプラグインと同じように”プラグイン”メニューから新規追加してください。
github からもダウンロードできます。
使用例
久が原駅前通り末広商店会の店舗リスト
リスト表示は少しカスタマイズしています。
スクリーンショット
できること
- CSVファイルのデータを読み込んでデータベースを作成します。
- 数万行のcsvファイルでも読み込めます(時間はかかります)。
- データの一括追加、全削除ができます。
- カスタムフィールドとカスタム分類をサポートしています。
- 管理画面でデータのソート、抽出、検索ができます。
- ショートコードを使って簡単な検索フォームを作成できます。
- csvファイルの読み込みは新規追加のみです。更新はサポートしていません。
使い方
データベースを作成する
- 管理画面の”DataBase Maker”を選択して、新規追加をクリックします
- タイトルにデータベースの名前を入力します。この名前が管理画面に表示されます(日本語可)
- 投稿内容はここでは空にしておきます。全ての設定を入力するとショートコードを使ったサンプルフォームが自動で入力されます。
csv設定の入力
- 「投稿タイプ」に投稿タイプを入力します。
- 「フォーマット」にcsvの各列の項目名をカンマ区切りで入力します。空欄は読み飛ばします。後述の項目名を参照してください。
- 「ステータス」に読み込んだデータのステータス(下書き、公開など)を設定します。csv の post_statusが指定されていない場合はここで設定したステータスが使用されます。
- 「スキップする行数」に先頭から読み飛ばす行数を指定します。スキップしない場合は0を設定してください。
- 「データを公開する」をチェックすると読み込んだデータを公開します。チェックを外すと検索フォームと管理画面以外からはアクセスできません。
- 「公開」ボタンを押して設定を保存します。
csvファイル読み込み
- 上で保存したデータベース名が管理画面に表示されるので選択します。
- 「ファイルを選択」ボタンを押してcsvファイルを選択し、「csv読み込み」を押すと読み込み開始します。
- プログレスバーが表示されるので、読み込みが完了するまでお待ちください。
- 読み込みが終わるとデータ一覧が表示されます。
管理画面でのデータ操作
- 「投稿を検索」ボタンでキーワード検索が可能です。すべての項目が対象です。
- カスタム分類を使った絞り込み検索ができます。
- カスタムフィールドで並び替えができます。
- データの編集ができます
- 「全消去」ボタンですべてのデータを一括削除できます。
検索フォームの作成
- 管理画面のDataBase Makeを選択し、フォームを作成したいデータベースの「編集」をクリックします。
- 投稿内容でショートコードを使って検索フォームを作成します。詳しくは後述のショートコードを参照してください。
- 「更新」ボタンを押して保存し、投稿の表示で検索画面が表示されます
項目名
- 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;
}
関連投稿