Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
composer install
npm install
npx gulp
js,scss,テキストドメインのビルドをすべて行う
$ npm run build
$ npm run build:script
$ npm run build:text-domain
$ npm run watch:script
$ npm run dist
dist/
内に管理画面でのインポート用zipと、転送用のテーマディレクトリが作成されます。
G3 は別途ドキュメントがあるのでそちらを参照
このテーマにはPHP Unit Testを用意しています。 下記コマンドで動作してください。
※ Macの場合はdocker-syncを使うといいです
$ docker-compose run wp
npm install
npm install -g @wordpress/env
wp-env start
npm run composer:install:win
npm run composer:install:mac
npm run phpunit:win
npm run phpunit
全てのテストの実行
まずテスト用のURLが localhost:8889
以外の場合、
./tests/e2e/ に記載されているテスト先のURLを自身の環境に応じて変更してください。
npm install
wp-env start
からの
npx playwright test
ブラウザは chrome だけで良い場合
npx playwright test --project=chromium
操作のスクリーンショットが見たい場合 --trace on を追加
npx playwright test --project=chromium --trace on
npx playwright show-report
例えばWordPressのログイン画面からの動作テストを作る場合は以下のようになります。
npx playwright codegen "http://localhost:8889/wp-login.php"
表示されるコードの必要な箇所を tests/e2e/ の spec.js に追加する
複数の趣旨の変更内容(機能の不具合修正とまったく別のアクションフック追加などの仕様変更など)を一つのプルリクエストで送ると確認・マージが非常ににやりにくくいので、内容別で送るようにしてください。
ざっくりで良いので、確認の際はどの画面でどう設定したらどうなるかを確認するのかなど記載してください。
いろんな設定条件の組み合わせが存在する場合、
そもそもどういう動作(どの組み合わせだとどうなるのかという)が正しいのか、テスターはもちろん本人も実装から日にちが経つとわからなくなります。
PHPUnitでテストが書けるものはテストを書くようにしてください。
同じような記述を複数箇所に書いていませんか? 違うコードが一部分だけなどの場合はその箇所を引数などで渡してclassや関数にするなど共通化しましょう。
第三者が見てどういう処理・内容なのかがわかりやすい名称を心がけてください。
テーマやプラグインによって一定の命名規則が存在します。 概ね readme.md などに書いてあるとは思いますが、 書いてない場合は他のクラス名など参照の上、前後関係や意味の整合性のとれる名前になっているか今一度考えてみましょう。
通常ライブラリから各プロジェクトに複製してプロジェクト毎にテキストドメイン置換などを行うので、Lightningなど利用先側で変更コミットしてもライブラリに戻すのが面倒です。
親のライブラリで編集したいライブラリのgulpのwatchを走らせながら作業して、親のライブラリを先にコミットするようにしてください。
そうでないと子を修正しても親からの複製で先祖帰りするため。
$wp_customize->add_section(
Lightningにはデザインスキンを外部から切り替える機能があります。 追加でスキンを作成する場合は下記のファイルを参考にしてください。
https://github.com/vektor-inc/lightning-g3-skin-sample
読み込みポイント | Priority | 読み込みファイル | 備考 |
---|---|---|---|
wp_enqueue_scripts | vkExUnit_common_style-css | ||
wp_enqueue_scripts | vkExUnit_common_style-inline-css | ||
wp_enqueue_scripts | Bootstrap | ||
wp_enqueue_scripts | lightning-common-style | 全スキン共通CSS | |
wp_enqueue_scripts | lightning-design-style | デザインスキン | |
wp_enqueue_scripts | lightning-design-style wp_add_inline_style | デザインスキン | |
wp_enqueue_scripts | lightning-theme-style | 子テーマでカスタマイズされるのでなるべく後ろである必要がある | |
wp_enqueue_scripts | vk-font-awesome-css | ||
wp_head | 50 | HeaderColorManagerでカスタマイズから指定された色 | |
wp_head | 200 | ExUnit CSSカスタマイズ 共通 | |
wp_head | 201 | ExUnit CSSカスタマイズ 投稿 |