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


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

英語になってる

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

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

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

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

Site Shell を開く

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

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

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

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

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

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

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

シェルスクリプトを作る

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

↑こんな感じで、 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

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

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

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

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

さらに便利にするために

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

【時短】zshでエイリアスを設定する方法

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

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