WordPressがSQLiteをサポートし、その後PHP WASM(PHPのWebAssembly実装)を利用したWordPress Playgroundが誕生、ブラウザでWordPressが動作するようになった。ではこれを何に使ったらよいのかと不思議に思っていた方も多いだろうが、さっそくその実例であるwp-now が誕生した。WordPress Playgroundリポジトリの中にあるので、派生プロジェクトの一つだろう。例によってnodeプログラムである。
コントリビューターであるAutomatticのブログによると、wp-nowはブロックテーマの開発に最適化されているようで、テーマディレクトリ内で実行するとWordPressが実行できる。
実行するためのコードは以下の通り。なお、nodeは18系で行った。
# wp-nowをインストール npm i -g @wp-now/wp-now # テーマのディレクトリに移動 cd path/to/theme # スタート wp-now start
確かに実行は早い。また、ブロックテーマはPHPファイルが含まれていないので、WebAssemblyで十分なのだろう。ちなみに、筆者が上で挙げたテーマはクラシックテーマだが、問題なく動いている。
WordPressにはdockerベースのwp-envが存在するが、wp-nowにはwp-envよりもお手軽だというメリットがある。立ち上げが早いといっても数分の違いなので、開発する時間を考えると大した違いではないが、ローカル環境を構築する必要がないというメリットは大きい。
受託案件などでもブロックテーマを採用する会社は少しずつ増えているだろうが、伝え聞くところによると、テーマを開発するのではなく、「ブロックテーマでブロックパターンを作成して納品」という形態に近づきつつあるようだ。つまり、ソースコードを納品するのではなく、「WordPressの設定」を納品するわけである。これが主流になると、わざわざdockerをインストールする必要すらないのかもしれない。
WordPressがSQLiteをサポートすると聞いた時には「何をいまさら?」と感じたものだが、このような使い方があったわけだ。ブラウザだけでWordPressを動かすことの真価が発揮される未来も近いかもしれない。