Wordpress content framework
Fund package maintenance!
paypal.me/technote0space
Installs: 44 313
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.6.0
- wp-content-framework/cache: ^1.0
- wp-content-framework/common: ^1.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- phake/phake: ~2.0
- phpcompatibility/phpcompatibility-wp: ^2.1
- phpmd/phpmd: ^2.9
- phpunit/phpunit: ~5.7
- squizlabs/php_codesniffer: ^3.5
- wp-coding-standards/wpcs: ^2.3
- dev-master
- v1.0.37
- v1.0.36
- v1.0.35
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.0.61
- v0.0.60
- v0.0.59
- v0.0.58
- v0.0.57
- v0.0.56
- v0.0.55
- v0.0.54
- v0.0.53
- v0.0.52
- v0.0.51
- v0.0.50
- v0.0.49
- v0.0.48
- v0.0.47
- v0.0.46
- v0.0.45
- v0.0.44
- v0.0.43
- v0.0.42
- v0.0.41
- v0.0.40
- v0.0.39
- v0.0.38
- v0.0.37
- v0.0.36
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.32
- v0.0.31
- v0.0.30
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.19
- v0.0.18
- v0.0.17
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-release/next-v1.0.37
- dev-images
This package is auto-updated.
Last update: 2024-10-25 22:23:22 UTC
README
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
-
ライブラリの使用 作成したプラグインファイルにライブラリを使用する記述を追記します。 プラグインファイルはおおよそ以下のようになります。
<?php
/**
* Plugin Name: example
* Plugin URI:
* Description: Plugin Description
* Author: example
* Version: 0.0.0
* Author URI: http://example.com/
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( defined( 'EXAMPLE_PLUGIN' ) ) {
return;
}
define( 'EXAMPLE_PLUGIN', 'Example_Plugin' );
@require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
WP_Framework::get_instance( EXAMPLE_PLUGIN, __FILE__ );
最終的なプラグインの構成は以下のようになります。
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 はおおよそ以下のようになります。
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( defined( 'EXAMPLE_THEME' ) ) {
return;
}
define( 'EXAMPLE_THEME', 'Example_Theme' );
@require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
WP_Framework::get_instance( EXAMPLE_THEME, __FILE__ );
最終的なテーマの構成は以下のようになります。
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
- configs/settings.php
サンプルプラグイン
- 関連記事提供用プラグイン
- Gutenberg用文字修飾 プラグイン
- Marker Animation プラグイン
- Yahoo! API を使用した校正支援プラグイン
- Gutenbergのブロックを一時的に非表示にするプラグイン
- Gutenbergのブロック検索キーワードを設定するプラグイン
- CSRF検知プラグイン
- Contact Form 7 拡張用プラグイン
- Gutenberg サンプル用プラグイン
- Travis CI テスト用プラグイン