プラグインの構造 ─ Structure
Custom DataBase Tables(以下、CDBTと称します)プラグインの構成ファイルとディレクトリ構造は下記のようになっています。
custom-database-tables/
├─ assets/
│ ├─ css/
│ │ ├─ cdbt-admin.css
│ │ ├─ cdbt-main.min.css
│ │ └─ cdbt-style.css
│ ├─ fonts/
│ │ ├─ glyphicons-halflings-regular.eot
│ │ ├─ glyphicons-halflings-regular.svg
│ │ ├─ glyphicons-halflings-regular.ttf
│ │ └─ glyphicons-halflings-regular.woff
│ └─ js/
│ ├─ plugins/
│ │ └─ bootstrap/
│ │ ├─ affix.js
│ │ ├─ alert.js
│ │ ├─ button.js
│ │ ├─ carousel.js
│ │ ├─ collapse.js
│ │ ├─ dropdown.js
│ │ ├─ modal.js
│ │ ├─ popover.js
│ │ ├─ scrollspy.js
│ │ ├─ tab.js
│ │ ├─ tooltip.js
│ │ └─ transition.js
│ └─ scripts.min.js
├─ langs/
│ ├─ custom-database-tables.pot
│ ├─ custom-database-tables-ja.mo
│ └─ custom-database-tables-ja.po
├─ lib/
│ ├─ cdbt.ajax.php
│ ├─ cdbt.class.php
│ ├─ cdbt.media.php
│ ├─ cdbt.scripts.php
│ └─ cdbt.shortcodes.php
├─ templates/
│ ├─ cdbt-admin-controller.php
│ ├─ cdbt-admin-create.php
│ ├─ cdbt-admin-general.php
│ ├─ cdbt-admin-table-creator.php
│ ├─ cdbt-admin-tables.php
│ ├─ cdbt-edit.php
│ ├─ cdbt-index.php
│ ├─ cdbt-input.php
│ ├─ cdbt-list.php
│ ├─ cdbt-public-edit.php
│ ├─ cdbt-public-input.php
│ └─ cdbt-public-list.php
├─ cdbt.php
├─ functions.php
├─ readme.txt
└─ uninstall.php
lib/cdbt.ajax.php
CDBTプラグイン内のAJAX処理を司るクラスCustomDataBaseTables_Ajaxが定義されています。このクラスはプラグインのコアクラスCustomDatabaseTablesのコンストラクタにてインスタンス化されているため、コアクラスCustomDatabaseTablesを経由することで呼び出すことが可能です。
バージョン1.0.0で登録されている処理は、テーブルデータ一覧画面や編集画面でのバイナリデータ格納フィールドからのダウンロードデータリストをモーダルウィンドウへ出力する処理となっています。
lib/cdbt.class.php
CDBTプラグインのコアクラスであるCustomDatabaseTablesクラスが定義されています。登録されている処理は大きく、プラグイン本体の制御部と新規作成したテーブルに対するCRUD部に分かれます。CRUD部の各種メソッドについてはグローバル宣言されているオブジェクト変数$cdbtのメソッドとしてWordPressのテーマ等のテンプレート関数内で利用可能です。
CRUD部メソッド一覧はこちらを参照してください。
lib/cdbt.media.php
CDBTプラグイン内の各種メディアファイルダウンロード処理に利用されるAJAXクラスCustomDataBaseTables_Mediaが定義されています。このクラスもAJAXクラス同様にプラグインのコアクラスCustomDatabaseTablesのコンストラクタにてインスタンス化されているため、コアクラスCustomDatabaseTablesを経由することで呼び出すことが可能です。
lib/cdbt.scripts.php
CDBTプラグインでインクルードされるJavaScriptを動的生成するライブラリです。WordPressの管理パネルとフロントエンドとで処理が分かれています。また、テーブルクリエーターの実働部も含まれています。
lib/cdbt.shortcodes.php
CDBTプラグインで利用できるショートコード[[cdbt-view]]``[[cdbt-entry]]``[[cdbt-edit]]が定義されています。
ショートコードの詳細はこちらを参照してください。
templates/
CDBTプラグインで生成される各種ページのテンプレートファイルが格納されているディレクトリです。ファイル名にcdbt-public-を含まないファイルはWordPress管理パネルのCDBTプラグイン管理コンソール用のテンプレートです。cdbt-public-で始まるファイルはショートコードで生成されるHTMLコンテンツを出力するために使われます。
cdbt.php
CDBTプラグインの起点ファイルです。プラグインのメタ情報と各種定数定義、各種ライブラリの読み込みが行われます。
functions.php
CDBTプラグイン用のAPIが定義されているファイルです。APIはプラグイン内の各クラスやテンプレート等から利用されています。なお、CDBTプラグインがインストールされているWordPressサイトであれば、テーマや他のプラグインからも利用が可能です。
CDBTプラグインAPI一覧はこちらを参照してください。