wordpressテーマ開発用ボイラープレート
リポジトリをクローンした後
$ npm install
を実行して必要なモジュールをインストールします。
node.js環境が必要です。
コメントアウトを解除してwordpressのテーマフォルダ名を記述してください。
services:
wordpress:
volumes:
# - ./dev:/var/www/html/wp-content/themes/(theme-name) # テーマ名を指定
docker-compose.yml
にあらかじめ container_name
を指定しておくと便利です。
db_data/data
にsqlファイルを設置しておくと、コンテナ作成時にデータベースが初期化されます。
# Dockerコンテナの通常起動
$ npm start
# ソース監視とDockerコンテナの起動
$ npm run dev
# Dockerコンテナの終了
$ npm stop
# Dockerコンテナの終了と削除
$ npm run down
# wp-cliへのアクセス
$ npm run cli
# ソース監視の起動
$ npm run watch
# 'src' の内容からJS/CSS/画像を最適化してテーマディレクトリを作成
$ npm run build
Dockerコンテナを起動すると http://localhost:8080 から確認できるようになります。管理画面は http://localhost:8080/wp-admin から確認できます。
$ npm run dev
または $ npm run watch
コマンドでソース監視を起動させると src
の修正内容がすぐに dev/wp-content/themes/(テーマファイル名)
内に反映されます(scss/stylusファイルのコンパイル・JSのバンドル・画像の最適化)。
$ npm run plugin
コマンドで開発環境にプラグインがインストールされます。開発時に、あらかじめプラグインのバージョンなどが指定されているときに使います。
インストールされる内容は plugins.yml
に定義されています。定義を変更したときは再度プラグインのインストールを行ってください。ただし、管理画面やwp-cliからプラグインの追加・更新をした場合、インストール後は定義された状態まで巻き戻ってしまうので注意してください。
-
name: plugin name # プラグイン名です(オプション)
slug: plugin-name # wordpress.org に登録されているプラグインのスラッグ名です(必須)
version: '0.0.0' # プラグインのバージョンです
url: https://downloads.wordpress.org/plugin/plugin-name.0.0.0.zip # プラグインのダウンロード元です(オプション)
公式配布サイトにプラグインがない場合は、配布元の url
を指定します。 url
の指定がない場合は、スラッグとバージョン番号を基準にして downloads.wordpress.org
からプラグインを取得します。バージョンの指定がない場合、最新版のプラグインをダウンロードします。
wordpress.orgで配布されていない、またはオリジナルのプラグインファイルは ./plugins
フォルダにzipファイルを直接配置してください。$ npm run plugin
するとwordpressに展開されます。
.
├ db_data/
│ ├ data/ (データベース永続化ファイル)
│ └ init/initial.sql (初期データベース内容)
├ dev/ (Docker環境の /var/www/html/wp-content/themes/(theme-name) がマウントされる)
├ dist/ (最適化されたテーマファイル)
├ helper/ (タスクやコンパイルの設定)
├ plugins/ (wordpress.orgで配布されていないプラグインを格納する)
├ src/
│ ├ asset/
│ │ ├ css/
│ │ │ ├ *.scss (コンパイル対象scssファイル)
│ │ │ └ *.styl (コンパイル対象stylusファイル)
│ │ ├ image/ (画像の格納先)
│ │ └ js/main.js (バンドルされるJS 名前を変更したい場合はpackage.jsonも変更)
│ ├ *.php (テーマファイルにコピーされる)
│ └ *.pug (phpに変換される)
├ uploads/ (/var/www/html/wp-content/uploads にマウントされる)
├ www/ (/var/www/html にマウントされる)
│ └ wp-config.php (開発環境用wp-config)
├ .browserslistrc (autoprefixer設定)
├ .editorconfig (エディタ制御)
├ .eslintignore (eslint無視設定)
├ .eslintrc (eslint/prettier設定)
├ .gitignore
├ docker-compose.yml
├ package-lock.json
├ package.json
├ plugins.yml (開発環境用WordPressプラグインの定義)
└ README.md