WordPressでプラグインを入れたり、テスト用の記事を増やしたりするとき、管理画面で同じ操作を何度も繰り返すことはありませんか。

そんな作業を、短い命令文でまとめて進められるのが「WP-CLI」です。「コマンド」と聞くと難しく感じるかもしれませんが、Localで作ったテストサイトがあれば、専用の画面を開いて、情報を表示する操作から試せます。

本記事では、Localの「Site shell」を開くところから、プラグイン一覧の確認、データベースの書き出し、ダミー記事の作成など5つの基本操作を紹介します。まずはサイトの内容を書き換えないコマンドから始めましょう。


WordPressで記事販売ができる「YOMERU」
記事を、そのまま収益に。
WordPressサイトで記事の有料販売ができる
無料のプラグイン「YOMERU」。

WP-CLIとは?WordPressを文字で操作するツール

WP-CLIは、WordPressをコマンドで操作するためのツールです。管理画面でボタンを押す代わりに、命令文を入力してEnterキーで実行します。命令文は通常「wp」で始まり、その後に作業の内容や条件を指定します。

WP-CLIの公式ページ

操作方法 向いている作業
管理画面 記事の執筆、画像の配置、見た目を確認しながらの調整
WP-CLI 一覧の取得、同じ処理の繰り返し、データの一括操作

管理画面をすべて置き換える必要はありません。繰り返しの多い作業に使うと、操作の手間を減らせます。この記事の例はLocalのテストサイトで使うもので、本番サイトにそのまま実行するための手順ではありません。

参考:WP-CLI(WordPress.org)

LocalでSite shellを開く

LocalにはWP-CLIが用意されています。テストサイトを起動し、サイト名の下にある「Site shell」(①)を押します。

LocalのSite shellボタン

OSに応じたターミナル等が開き、対象サイトでコマンドを使う準備が整います。通常のターミナルを開く方法とは異なり、Localがそのサイト向けのPHPやデータベース接続の環境を用意してくれます。

最初は、次のコマンドを1行入力し、Enterキーを押してください。

wp --version

使用しているWP-CLIのバージョンが表示されます。今回のLocal 10.1.2環境では「WP-CLI 2.12.0」と表示されました。別の環境では表示される番号が異なる場合があります。

続いて、操作対象のサイトURLを確認します。

wp option get home

意図したテストサイトのURLが表示されたことを確認してから、次へ進みます。この2つは、サイトのデータを書き換えるコマンドではありません。

Localでのサイトの作り方は、次の記事で解説しています。

Localで試すWP-CLIの基本操作5つ

以下は、今回のテストサイトで試した操作を中心にした例です。記載した所要時間は今回の環境での参考値で、記事数・通信速度・プラグイン等によって変わります。

1. プラグインの一覧を表示する

まず、インストールされているプラグインを確認します。

wp plugin list

「name」はプラグインの名前、「status」は有効・無効などの状態、「update」は更新の有無です。「update」に「available」と出ていれば、更新があることを示します。このコマンドは、一覧を表示するだけで更新は行いません。

知らないコマンドは、実行する前にヘルプを確認できます。

wp help plugin list

確認するコマンドと、データを変更するコマンドを区別することが、最初のポイントです。

2. データベースを書き出す

次の例からはファイルやデータに変更が加わります。まず、変更前のデータベースを保存しておきます。

wp db export ../before-cli-practice.sql

標準的なLocalのSite shellは、サイトの公開フォルダ「app/public」で開きます。「../」は1つ上のフォルダという意味で、この例では「app」側にSQLファイルを書き出します。異なる場所から実行している場合は、保存先も変わるので確認してください。

ファイル名には日付や作業名を入れ、前回のバックアップと区別すると管理しやすくなります。同じ名前のファイルがある場合は上書きしないよう、別の名前を使ってください。今回の検証では、データベースの書き出しに0.7秒かかり、約1.8MBのファイルができました。

「wp db export」が保存するのはデータベースです。画像・テーマ・プラグイン・設定ファイル等のバックアップにはなりません。ファイルも変更する作業では、Localのサイト全体の書き出しやサーバーのバックアップなど、ファイルとDBの両方を復元できる方法を用意します。SQLには個人情報や認証関連の情報が含まれるため、公開フォルダに置かず適切に保管してください。

参考:wp db exportの公式仕様

3. プラグインをまとめてインストールする

WordPress.orgのプラグインは、スラッグを並べてまとめてインストールできます。スラッグは、公式プラグインページのURL末尾にある識別用の名前です。

wp plugin install query-monitor classic-editor --activate

この例は、Query MonitorとClassic Editorをインストールし、「–activate」で有効化まで行います。今回の検証では、2つの処理に8.5秒かかりました。インストールだけでなく、有効化も実行するコマンドであることに注意してください。

実行後は「wp plugin list」と管理画面で状態を確認します。すでに入っているプラグインや、他のプラグインとの組み合わせによって、実行結果は異なります。

4. テスト用の記事をまとめて作る

一覧ページやページ送りを確認したいときは、ダミー記事を作れます。

wp post generate --count=100

今回の検証では、100本の記事が1.4秒で作成されました。元の1記事と合わせて投稿一覧が101本(①)、6ページ(②)になっています。

WP-CLIで作った100本の記事

このコマンドは、既定で「公開済み」の投稿を作ります。Localのテストサイト専用の例として使ってください。本番で実行すると、ダミー記事が公開されます。

下書きとして作りたい場合は、公開状態を指定します。

wp post generate --count=100 --post_status=draft

投稿者を指定しない場合の表示は、今回の画像では空欄でした。公開状態や投稿者などの条件は、用途に応じて指定できます。

テスト後に作成前へ戻す場合は、保存しておいたDBを読み込む方法があります。

wp db import ../before-cli-practice.sql

これはダミー記事だけを消す操作ではありません。バックアップ後に変更した記事・設定等も、DB側は保存時点へ戻ります。ほかの作業を続けたサイトや本番サイトで、気軽に実行しないでください。

参考:wp post generateの公式仕様

5. URLの置換対象を変更せずに調べる

サイト移転等では、データベース内の旧URLを新URLに置き換える作業が必要になる場合があります。まず「–dry-run」を付け、書き換えずに対象件数を調べます。以下のURLは例なので、自分の移転元・移転先に置き換えてください。

wp search-replace "http://test.local" "https://example.com" --skip-columns=guid --dry-run --report-changed-only
指定 意味
--dry-run 置換結果を確認するだけで、DBを変更しない
--skip-columns=guid 記事等の識別に使うguid列を置換から除外する
--report-changed-only 置換対象がある列のみを結果に表示する

今回のテストでは、guidを除外した確認で7か所が対象になりました。siteurl・homeの2か所、メニューに保存したリンク4か所、ユーザーのWebサイト欄1か所です。これは今回のデータでの結果で、サイトによって件数は変わります。

WP-CLIはPHPのシリアライズ形式を考慮して置換します。ただし、それだけであらゆる独自データ形式への対応や、サイト全体の動作を保証するものではありません。

また、既定の対象はWordPressの「$wpdb」に登録されたテーブルです。プラグイン独自テーブルやマルチサイトを含む場合は、対象範囲の確認が必要です。データベース内の全テーブルを、無条件に置換するコマンドではありません。

この例では、実際の置換は行いません。「–dry-run」を外すとhomeやsiteurlも変わり、Localの元のURLで開けなくなる場合があります。移転先での実行は、バックアップ・対象範囲・URLの設定を確認したうえで行います。

参考:wp search-replaceの公式仕様

次に覚えたいコマンドと注意点

コマンド 用途・注意点
wp core check-update WordPress本体の更新があるか確認する
wp option get blogname サイト名を表示する
wp plugin update --all すべてのプラグインを更新する。先にファイルとDBの復元手段、互換性を確認する
wp rewrite flush リライトルールを再生成する。既定では.htaccessの書き換えを伴う処理とは異なる
wp media regenerate サムネイルを再生成する。対象数やファイルへの影響を確認する
wp cache flush オブジェクトキャッシュを消去する。ブラウザキャッシュ等をまとめて消す操作ではない
wp help ヘルプを開く

使い方は「wp help plugin update」のように確認できます。コマンドによって、即時に変更するものや確認を求めるものがあります。名前だけで判断せず、オプションも含めて確認してください。

ユーザー作成時の出力にも注意する

WP-CLIにはユーザーを作成するコマンドもありますが、この記事の5つの操作とは別に、権限と認証情報の扱いを理解して使います。

「wp user create」でパスワードを指定しなければ、既定ではランダムに生成されます。「–porcelain」は新規ユーザーIDだけを出力する指定で、ログインを無効にするものではありません。自動生成されたパスワードを出力しないため、利用者がログインするための設定・再設定の手段を別途考える必要があります。

参考:wp user createの公式仕様

本番サイトで使う前に確認すること

今回紹介したのはLocalのテストサイトでの操作です。本番で使う場合は、レンタルサーバーの提供条件やWP-CLIの導入状況、実行するPHP・ユーザー権限も確認します。一般的なサーバー上の操作ではSSH等で接続します。

コマンドを実行できることと、変更後に問題なく運用できることは別です。本番を変更する場合は、少なくとも次を確認します。

  • 接続先・対象ディレクトリ・サイトURLが正しいか
  • 変更するデータやファイルの範囲を理解しているか
  • ファイルとDBを復元できるバックアップがあるか
  • 検証環境で同じ操作と動作確認を済ませたか
  • 更新後の表示、投稿編集、フォームなどを確認できるか

SQLの書き出し先も、本番ではサーバー構成に合わせて確認します。公開ディレクトリの外へ保存し、復元に必要なバックアップは適切に保管しつつ、作業用の不要なコピーを残さないようにします。

まとめ

WP-CLIは、WordPressの情報確認や一括処理を短いコマンドで進めるためのツールです。LocalならSite shellから始められます。

まずは「wp –version」「wp option get home」「wp plugin list」で、対象サイトと現在の状態を確認してみてください。慣れたら、使い捨てのテストサイトでバックアップやダミー記事の作成へ進むと、操作の違いをつかみやすくなります。

世界最高品質のデザインの
WordPressテーマ集
WordPressテーマ「ISSUE」
WordPressテーマ「ISSUE」
人材不足を解決する求人採用サイトを。
WordPressテーマ「SEEED」
WordPressテーマ「SEEED」
Webサービスを販売するLP型テーマ。
WordPressテーマ「GENESIS」
WordPressテーマ「GENESIS」
スタイリッシュな企業サイトの決定版。
WordPressテーマ「SOLARIS」
WordPressテーマ「SOLARIS」
一流の企業のための一流の企業サイトを。