ブログ記事:「WordPress+(プラス)」それはより高機能なWebサイトを手早く構築するための新しいプラットフォームです も合わせてお読みください。
WordPress+は、2015年4月にリリースされたばかりの高速マイクロフレームワークLumen(るーめん) でWordPressをラップしたもので、次のような特徴を持つ開発中のプロダクトです。
- 世界中で公開されているWordPressプラグインやテーマといった既存資産が利用可能
- WordPress本体の更新が可能(もちろんプラグインも)
- URLゲート(ブラウザからのHTTPアクセスをフィルタリングする層)搭載
- Bladeテンプレートエンジンで、HTMLテンプレートのコーディングスピードがあがる
- Laravelのスキーマビルダー・クエリービルダーを活用することで、一般的なMySQL利用ができる
- 既存システムや外部Webサービスとの連携が作りやすい
- WordPressの管理画面をベースにした独自の管理画面が作りやすい(管理画面制作のコストを下げられる)
- モバイル連携(スマートフォンへの通知など)もチョイチョイ
- PHPビルトインサーバーで実行できます
- Composerを使ったPHPパッケージ管理が可能
- Laravel 5のもつ各種Web職人用ツールが使える(O-Auth認証、コマンドスケジューラー、Redis、クラウドストレージ統合などなど)
- PHP 5.6 以上 (Lumen Framework は5.5.9以上を要求しています)
- PHP拡張: openssl, mbstring, pdo, pdo-mysql
- Composer
- Webサーバー
- Nginx
- ※ Nginx 1.8 で動作確認済み
- Apache 2
- ※ Apacheモジュール
php5
,rewrite
が有効になっていること - ※ Apache 2.2, 2,4 で動作確認済み
- ※ Apacheモジュール
- PHPビルトインサーバー
- ※ PHP 5.6, PHP 7 で動作確認済み
- Nginx
- コマンドラインからのWordPressデータベースセットアップ
- コマンドラインからのWordPressテーマ・プラグイン作成
- Bladeテンプレートエンジンを使ったテーマ作成
- マルチサイト(サブドメイン型のみ対応)
- オプション: 有効にするには、環境変数
WP_MULTISITE=true
を指定してください。
- オプション: 有効にするには、環境変数
- リンクマネージャー
- オプション: 有効にするには、環境変数
WP_LINK_MANAGER=true
を指定してください。
- オプション: 有効にするには、環境変数
下記の設定ファイルを参考にしてください。
WordPress+は、.envファイルにプロジェクトローカルな環境変数を指定できます。 このファイルは、Lumen と WordPressに共通の設定を記述できる領域です。
例)
- WordPressサイトURL、バックエンドURL
- データベースの接続設定
wp-config.php はWordPress+用にカスタマイズされています。 直接編集しないでください
Composerまたはソースコードダウンロードからインストールできます。
コマンドプロンプトを開き、次のコマンドを実行してください。
$ cd <インストールしたいディレクトリ>
$ composer create-project laravel-plus/wordpress <ディレクトリ名>
GitHubの当リポジトリの「Download ZIP」ボタンを押し、ソースコードをダウンロードします。
そして、ローカルマシンの任意のディレクトリにZIPファイルを展開します。
コマンドプロンプトを開き、次のコマンドを実行してください。
$ cd <ZIPファイルを展開したディレクトリ>
$ composer install
$ cp .env.example .env
$ php artisan key:generate
データベース等の設定は、プロジェクト固有の環境変数設定ファイル .env
に記述します。
設定例は .env.exampleを参照してください。
PHPビルトインサーバーで起動できます。
コマンドプロンプトを開き、次のコマンドを実行してください。
$ cd <インストールしたディレクトリ>
$ php artisan serve
Webブラウザで http://localhost:8000
を開くとアクセスできます。
初回起動時は、GUIでのWordPressのセットアップが始まります。
(artisanコマンド wordpress:install
でインストールすることもできます。)
管理画面のURLは http://localhost:8000/backend
です。(http://localhost:8000/backend/wp-admin/
へリダイレクトされます。)
※セットアップ先のドメインに合わせて、.envでURLを変更してください。
サイトURLWP_SITEURL
とバックエンドURLWP_BACKENDURL
を別にし、セキュリティを高めることもできます。
Lumen 5 / Laravel 5 は、Webサーバーの設定でURLの末尾のスラッシュ/
を取り除くことを推奨しています。
しかし、WordPressは末尾のスラッシュ/
を必要としていますので、設定の際には注意してください。
管理画面へのログイン後にリダイレクトループが発生する場合があります。
wordpress:status
WordPressの状態表示wordpress:install
WordPressテーブルのインストールwordpress:uninstall
WordPressテーブルのアンインストールwordpress:multisite:install
マルチサイトテーブルのインストールwordpress:multisite:uninstall
マルチサイトテーブルのアンインストールwordpress:theme
テーマ一覧表示wordpress:theme <name>
テーマ詳細表示wordpress:plugin
プラグイン一覧表示wordpress:plugin <name>
プラグイン詳細表示make:theme <name>
テーマ作成make:plugin <name>
プラグイン作成
テーマディレクトリ内にblade
というディレクトリを作成し、そこにWordPressテンプレートファイル名規約に沿ったファイルを配置します。
拡張子は.blade.php
にします。
環境変数WP_BLADE_PRECOMPILE
をtrue
(デフォルト)に設定した場合、WordPress+でページを表示したときにコンパイルされたPHPファイルがテーマディレクトリ直下に出力されます。この時に使われるBladeエンジンはWordPress+独自の実装です。
環境変数WP_BLADE_PRECOMPILE
をfalse
に設定した場合、bladeファイルに対応する空のPHPファイルをテーマディレクトリ直下に出力します。この時に使われるBladeエンジンはLaravel 5の実装です。
@filter('filter-name')
フィルタを呼び出す@action('action-name')
アクションを呼び出す@shortcode([shortcode-name param1="value1"])
ショートコードを展開する@postloop
@postloop($posts)
Postクエリーのループブロックを開始する@postempty
Postクエリーが0件の場合のブロックを開始する@endpostloop
Postデータのループブロックを終了する
2015 Fumio Furukawa, All rights reserved.
WordPress+ is open-sourced software licensed under the MIT license
Lumen framework is open-sourced software licensed under the MIT license
WordPress is open-sourced software licensed under the – GNU General Public License –