WordPress

WP-CLIとは?インストールと使い方、実際に使って気づいた注意点

公開 更新 約4分で読めます

TL;DRこの記事の要点

  • WP-CLIは、ターミナルからWordPressを操作するツール
  • Macなら brew install wp-cli で入る。確認は wp --info
  • このブログの記事は、Claude CodeがWP-CLIで投稿している
  • 成功と出ても結果が違う例がある。実行後は一覧で確認する
目次7項目
  1. WP-CLIとは?ターミナルからWordPressを操作するツール
  2. どんなときに使う?
  3. インストールと確認
  4. 基本の使い方
  5. 自分はこう使ってます
  6. WP-CLIでハマった例
  7. 迷ったときの確認ポイント

WordPressの記事や設定を、ブラウザを開かずに操作できるツールがあります。
それが「WP-CLI」です。

このブログの記事は、WP-CLIで投稿しています。
実際に操作しているのはClaude Codeで、自分は内容を確認する役です。
使ってみて分かったことを、基本と一緒にまとめます。

WP-CLIって、何をするもの?

ターミナルからWordPressを操作するツールだよ。管理画面を開かなくても、記事の投稿や設定の確認ができるんだ。

WP-CLIとは?ターミナルからWordPressを操作するツール

WordPressをコマンドで操作するためのツール、それがWP-CLIです。
CLIは「コマンドラインインターフェース」の略で、文字のコマンドで操作する画面のことです。
公式のページには、「The command line for WordPress. No browser required.」とあります。
ブラウザは要らない、という意味。

どんなときに使う?

公式のページでは、次のような操作が紹介されています。

  • データベースの書き出し(wp db export)
  • URLなどの一括置換(wp search-replace)
  • キャッシュの削除(wp cache flush)
  • プラグインやテーマの管理、WordPress本体の更新
  • ユーザーの作成、記事の一括操作

管理画面でも、多くの操作はできます。
このブログでは、記事の本文、カテゴリ、アイキャッチ、メタ情報の設定を、コマンドで行っています。
手順をコマンドとして残せるので、Claude Codeに同じ作業を頼めます。

インストールと確認

Macなら、Homebrewで入れるのが手軽です。
Homebrewは、Macにソフトを入れるための道具です。
1行で入ります。

brew install wp-cli

Homebrewを使わない場合は、公式の手順でphar(1つにまとまった実行ファイル)をダウンロードして、/usr/local/bin/wpに置く方法もあります。
公式のハンドブックには、PHP 7.2.24以降が必要と書かれています。

入ったかどうかは、wp --infoで確認できます。
OSやPHPのバージョン、WP-CLIのバージョンが表示されます。
バージョンだけなら、wp cli versionです。

本番のサーバーでも、同じように使えるの?

使えるよ。本番のXserverには、SSHでつないで同じコマンドを実行してるんだ。

基本の使い方

書き方は、wpのあとに、操作の対象と動作を続けます。
たとえばwp post listは、記事を表すpostに、一覧表示を表すlistを続けたものです。
記事の一覧が出るだけです。

wp post list

サイト名を確認するなら、こうです。

wp option get blogname

どちらも、読むだけのコマンドです。
WordPressのフォルダ(wp-config.phpがある場所)の中で実行します。
記事の中身を変えるコマンドもあるので、最初は一覧や確認から試すのがおすすめです。

自分はこう使ってます

記事の投稿は、WP-CLIで

このブログの記事は、Claude Codeがwp post createで作っています。
記事の本文はファイルから読み込みます。
カテゴリやアイキャッチ、メタディスクリプションも、同じようにコマンドで設定しています。

ローカル環境で作った記事は、本番にもSSH経由で同じコマンドを実行して作ります。
SSHは、離れたサーバーに安全につなぐための方法です。
ちなみにバージョンは、ローカルが2.12.0、本番のサーバーが2.8.1でした。
環境ごとに違うことがあります。

設定の確認や、トラブルの調査にも

サイト名のオプションを確認したときは、wp option get blognameがCat's Handを返しました。
画面では普通に「Cat’s Hand」と見えていても、DBの中身は違うことがあります。

ローカル環境でWordPressの更新が「別の更新が現在進行中です」で止まったときも、WP-CLIを使いました。
更新中かどうかを記録しているオプション(WordPress内の設定値)を、wp option deleteで削除して直しました。

コマンドが成功したのに、変わってないことってあるの?

あるよ。「Success」って出たのに、未分類のカテゴリが外れてなかったことがあるんだ。

WP-CLIでハマった例

コマンドで操作できる一方、成功と表示されても、思った結果になっていないことがありました。

迷ったときの確認ポイント

  1. 書き込みや削除をする前に、対象の記事が合っているか一覧で確認する
  2. 「Success」と出ても、実行後に一覧や設定を見て、思った結果になっているか確認する
  3. カテゴリを付け外しするwp post termに数字を渡すと、IDではなくスラッグとして扱われる。IDで指定するときは--by=idを付ける
  4. 複雑なPHPを実行するときは、wp evalで直接書かず、ファイルにしてwp eval-fileで実行する

最初は、一覧や確認のコマンドから試してみてください。
書き込み系は、結果を見る一手間まで含めて、1セットです。

あわせて知っておきたい用語

ターミナル
文字のコマンドでパソコンを操作する画面。WP-CLIはここで動かします。詳しくはこちら。
Homebrew
Macにソフトを入れるための道具。WP-CLIもこれで入ります。
SSH
離れたサーバーに、安全につなぐための方法。
スラッグ
記事やカテゴリを、URLの中で表すための名前。詳しくはこちら。

この記事が参考になったら、応援クリックをお願いします

Cat's Handこの記事を書いた人

Web制作歴10年以上。WordPressのテーマカスタマイズやコーディングを中心に、副業・本業ともにweb制作に携わっています。このブログでは、実際に手を動かして分かったことを書いています。