WP Content Framework
WordPressのプラグインやテーマ開発用のフレームワークです。
Table of Contents
Details
要件
- PHP 5.6 以上
- WordPress 3.9.3 以上
手順
プラグインからの利用
-
プラグインフォルダの作成 wp-content/plugins フォルダに プラグイン用のフォルダを作成 例:wp-content/plugins/example
-
プラグインファイルの作成 作成したプラグインフォルダに適当なPHPファイル (例:autoload.php) を作成 標準プラグイン情報 を参考にプラグインの情報を入力
-
このライブラリのインストール composer を使用してインストールします。 作成したプラグインフォルダで以下のコマンドを実行します。
composer require wp-content-framework/core
-
ライブラリの使用 作成したプラグインファイルにライブラリを使用する記述を追記します。 プラグインファイルはおおよそ以下のようになります。
最終的なプラグインの構成は以下のようになります。
example
|
- autoload.php
|
- functions.php
|
- assets
|
- configs
|
- languages
|
- src
|
- classes
| |
| - controllers
| | |
| | - admin
| | |
| | - api
| |
| - models
| |
| - tests
|
- views
|
- admin
|
- help
テーマからの利用
-
テーマフォルダの作成 wp-content/themes フォルダに テーマ用のフォルダを作成 例:wp-content/themes/example
-
テーマ用CSSの作成 作成したテーマフォルダに style.css を作成 テーマスタイルシート を参考にテーマの情報を入力
-
このライブラリのインストール composer を使用してインストールします。 作成したプラグインフォルダで以下のコマンドを実行します。 composer require wp-content-framework/core
-
ライブラリの使用 テーマフォルダに functions.php を作成しライブラリを使用する記述を追記します。 functions.php はおおよそ以下のようになります。
最終的なテーマの構成は以下のようになります。
example
|
- style.css
|
- functions.php
|
- assets
|
- configs
|
- languages
|
- src
| |
| - classes
| | |
| | - controllers
| | | |
| | | - admin
| | | |
| | | - api
| | |
| | - models
| | |
| | - tests
| |
| - views
| |
| - admin
| |
| - help
|
- header.php
- footer.php
- index.php
- searchform.php
- sidebar.php
...
複数のプラグイン及びテーマでこのライブラリを使用する場合、モジュールも含めて最新のものが自動的に使用されます。
モジュール必要に応じてモジュールを追加します。 いくつかのモジュールは依存関係によって自動的にインストールされます。
- core 最新のモジュールの読み込み機能などのコアの機能を提供します。
- 依存モジュール
- common
- cache
- common 共通で使用する機能を提供します。
- cache キャッシュ機能を提供します。
- 関連モジュール
- cron 期限切れのキャッシュを定期的に削除する場合に必要です。
- db データベースを扱う機能を提供します。
- presenter 描画機能を提供します。
- view 共通の描画テンプレートを提供します。
- 依存モジュール
- presenter
- cron cron機能を提供します。
- controller コントローラ機能を提供します。
- 依存モジュール
- presenter
- admin 管理画面に関する機能を提供します。
- 依存モジュール
- controller
- view
- api APIに関する機能を提供します。
- 依存モジュール
- controller
- update 更新情報を表示する機能を提供します。
- 依存モジュール
- presenter
- update_check 公式ディレクトリ以外で更新を行う機能を提供します。
- upgrade アップグレードに関する機能を提供します。
- 関連モジュール
- log アップグレード履歴を保存する場合に必要です。
- mail メール送信機能を提供します。
- 依存モジュール
- presenter
- log ログの機能を提供します。
- 依存モジュール
- db
- cron
- admin
- 関連モジュール
- mail メールを送信する場合に必要です。
- post 投稿を扱う機能を提供します。
- device User Agent の判定などの機能を提供します。
- editor エディタに関連する機能を提供します。
- social ソーシャルログイン機能を提供します。
- 依存モジュール
- session
- session セッション機能を提供します。
- custom_post カスタム投稿タイプに関する機能を提供します。
- 依存モジュール
- db
- session
- admin
- api
- test テスト機能を提供します。
- 依存モジュール
- admin
画面の追加
API の追加
filter の追加今後ドキュメント追加予定
cron の追加
カスタム投稿タイプの追加
テストの追加
コンフィグ
設定
- configs/setting.php
設定例:
// priority => 詳細
'10' => array(
// 設定グループ => 詳細
'Performance' => array(
// priority => 詳細
'10' => array(
// 設定名 => 詳細
'minify_js' => array(
// 説明
'label' => 'Whether to minify js which generated by this plugin',
// タイプ (bool or int or float or string)
'type' => 'bool', // [default = string]
// デフォルト値
'default' => true,
),
'minify_css' => array(
'label' => 'Whether to minify css which generated by this plugin',
'type' => 'bool',
'default' => true,
),
),
),
),
設定ページで設定可能になります。 プログラムで使用するには以下のようにします。
$this->apply_filters( 'minify_js' ) // true or false
if ( $this->apply_filters( 'minify_js' ) ) {
// ...
}
フィルタ
- configs/filter.php 今後追加予定
DB
- configs/db.php db
権限
- configs/capability.php 今後追加予定
デフォルトの動作の上書き今後追加予定
基本設定
- configs/config.php
設定値
説明
required_php_version
動作に必要なPHPの要求バージョン [default = 5.6]
required_wordpress_version
動作に必要なWordPressの要求バージョン [default = 3.9.3]
filter_separator
filter prefix の separator [default = '/']
- configs/settings.php
設定値
説明
admin_menu_position
管理画面のメニューの表示位置
サンプルプラグイン
- 関連記事提供用プラグイン
- Gutenberg用文字修飾 プラグイン
- Marker Animation プラグイン
- Yahoo! API を使用した校正支援プラグイン
- Gutenbergのブロックを一時的に非表示にするプラグイン
- Gutenbergのブロック検索キーワードを設定するプラグイン
- CSRF検知プラグイン
- Contact Form 7 拡張用プラグイン
- Gutenberg サンプル用プラグイン
- Travis CI テスト用プラグイン
Author