Local by Flywheel での環境構築をシェルスクリプトで自動化する

みなさん、Local By Flywheel 使ってますか？
WordPressのローカル環境を簡単に構築でき、非常に便利ですよね！
しかし、われわれ日本人にとってはちょっと不便なところもあります。それは、

【 **英語になってる** 】
![スクリーンショット 2021-06-12 12.41.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276819/1c4be7a7-bb74-f79c-7369-0a2a661c172f.png)

はい。新しいサイトを追加した直後は英語なんです。
これを日本語化するには以下の設定を変更する必要があります。

* Settings → Site Language を Englishから日本語に
* 設定 → タイムゾーンを「東京」に

そんなに難しくないですね。
でも、これを毎回サイトを作るたびに設定するのめんどくさくないですか？
そこで、今回は、その設定を自動化してみます！
ついでに、必要なプラグインをインストールしたり、いらないやつを消したりする作業も自動化しちゃいましょう！

※ この記事はMacで動かす場合の手順を記載しています。
（Windowsユーザーの方、ごめんなさい）
でもWindowsユーザーの方も、参考にできる部分はあるかと思います！

## (2022年8月追記) Blue Print について
最近、BluePrintという機能が追加されたらしく、そちらを使うほうが簡単になりました。
- [What are Blueprints?  - Local](https://localwp.com/help-docs/local-features/what-are-blueprints/)
- [Local by Flywheelの使い方。かんたんWordPressローカル環境構築方法](https://original-game.com/local-by-flywheel/#m_heading-5)

以下、コマンド操作の参考として残しておきます。

## Site Shell を開く
Local by flywheel に Site Shell っていう機能があるのはご存知でしたか？
作成したローカル環境上でコマンドが打てるという最強の機能です。
早速使ってみましょう！

左側にあるサイト一覧の中の該当するサイトの上で右クリックします。するとこのようなメニューが現れます。
この中の「Open Site Shell」をクリックします。

![Screen Shot 2021-06-12 at 12.46.05 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276819/9fa6cff3-8fc8-c08e-30a4-9a84e0cd37e8.png)

すると、ターミナルが起動します。
このターミナルでは、WP-CLIが使用できます。
WP-CLIについて詳しくは https://wp-cli.org/ja/ を参照してください。

試しに、次のようなコマンドを実行してみましょう。

```
wp language core install ja --activate --allow-root
```

それから、管理画面を開きます。すると、

![スクリーンショット 2021-06-12 13.40.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276819/3bcef0aa-6f7b-ae74-660e-895d8ca4c663.png)

日本語化できました Yeah!!

## シェルスクリプトを作る

コマンドでWordPressの操作ができることがわかりました。
次は、毎回コマンドを打たなくても良いように、シェルスクリプトを用意します。
私の場合は、Local by Flywheel をインストールしたときにできる `Local Sites` というフォルダにシェルスクリプトを作成しました。

![Screen Shot 2021-06-12 at 1.47.04 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276819/3a137966-7877-3910-7e28-1189c74762eb.png)

↑こんな感じで、 `Local Sites` フォルダの中に、 `wp-init.sh` というファイルを作成します。
ファイルの中身はこんな感じです。

```wp-init.sh
#!/bin/bash

# 日本語インストール
wp language core install ja --activate --allow-root

# タイムゾーンを設定
wp option update timezone_string 'Asia/Tokyo' --allow-root

# Query Monitor のインストール
wp plugin install query-monitor --activate --allow-root

# Multibyte Patch のインストールと日本語化
wp plugin install wp-multibyte-patch --activate --allow-root
wp language plugin install wp-multibyte-patch ja

# サンプルの投稿、固定ページを削除
wp post delete 1 2 --force --allow-root

# 不要テーマ削除 & 既存テーマの日本語対応
wp theme delete twentynineteen
wp theme delete twentytwenty
wp language theme install twentytwentyone ja
```

必要に応じて、プラグインを追加したり、自分なりに色々カスタマイズしたりしてみてください！

そして、先程の Site Shell のターミナルから、下記コマンドを実行します。

```
~/Local\ Sites/wp-init.sh
```

（半角スペースのエスケープで\が必要なことに注意）
すると、先ほど作成したシェルスクリプトが実行されます。
ちょっと時間がかかりますので、実行し終わるまでコーヒーでも飲みながら待ちましょう :coffee: 

その後、管理画面を開いてみると、

* 管理画面の日本語化
* タイムゾーン東京への変更
* プラグイン追加
* 要らない記事とかテーマとか削除

ができていると思います。
これで、WordPressの色んな設定がコマンド1つでできるようになりました！
おめでとうございます :tada: 

## さらに便利にするために
`~/Local\ Sites/wp-init.sh` って、打ちにくいですよね。
実は、よりシンプルなコマンドで実行できるように設定することができます。
それには、エイリアスというものを使います。
エイリアスの設定方法はこちらの記事が参考になると思います。

[【時短】zshでエイリアスを設定する方法](https://qiita.com/terufumi1122/items/1bbb1cf96e376e30e9fc)

私の場合は、 `wp-init` で上記コマンドを実行できるように設定しました。
環境構築が一瞬で終わって本当に楽ですよ ^ ^

WordPressでサイト作っている方は、ぜひ試してみてください！！