wp option get コマンド情報まとめ
ターミナルの wp option get コマンドについて、オプション情報、wp option update との違い、AIエージェントが実行した場合の危険性を紹介しています。
wp option get とは
wp option get(WP-CLI option get)は、WordPress の wp_options テーブルに保存されているオプション値を取得して表示する WP-CLI コマンドです。
siteurl や blogname といった基本設定から、プラグインが保存したオプションまで、キー名を指定するだけで値を確認できます。
データベースを変更しない読み取り専用の操作のため、開発環境・本番環境を問わず安心して使えます。
主なオプション
| オプション | 意味 |
|---|---|
--format=<format> | 出力形式を指定する(var_export・json・yaml)。デフォルトは値をそのまま表示する |
--autoload=<autoload> | wp option list と組み合わせる際に自動ロード設定で絞り込む(yes / no) |
基本構文は wp option get <オプション名> です。
オプション名はそのまま文字列で渡します。取得したい値が配列やオブジェクトの場合は --format=json を指定すると構造を確認しやすくなります。
よく使う組み合わせ
基本的なサイト設定を確認する
# サイト URL を確認する
wp option get siteurl
# サイト名を確認する
wp option get blogname
# 管理者メールアドレスを確認する
wp option get admin_email
# タイムゾーンを確認する
wp option get timezone_string
サイト移行後の確認作業やデバッグ時に、設定値をターミナルからすばやく取得できます。
管理画面にログインしなくても現在の設定値を把握できるため、CI/CD パイプラインのヘルスチェックにも組み込めます。
配列・オブジェクト型の値を JSON で確認する
# アクティブなプラグイン一覧を JSON で確認する
wp option get active_plugins --format=json
# アクティブなプラグイン一覧を整形して表示する
wp option get active_plugins --format=json | jq '.[]'
# サイドバーウィジェットの設定を確認する
wp option get sidebars_widgets --format=json | jq '.'
active_plugins のように値が PHP 配列の場合、デフォルト表示では PHP シリアライズ形式になることがあります。
--format=json を指定することで jq と組み合わせた加工が容易になります。
wp option list と組み合わせてキー名を探す
# "woocommerce" を含むオプション名を一覧表示する
wp option list --search="woocommerce*" --fields=option_name
# 自動ロードされているオプションの数を確認する
wp option list --autoload=yes --format=count
# キー名を特定してから値を取得する
wp option list --search="woocommerce_currency*" --fields=option_name,option_value
取得したいオプション名が不明なときは、まず wp option list --search でキー名を特定してから wp option get で詳細を確認する流れが効率的です。
wp option get と wp option update の違い
どちらも wp_options テーブルを対象に操作するコマンドですが、読み取りと書き込みで用途がまったく異なります。
| 項目 | wp option get | wp option update |
|---|---|---|
| 操作の種類 | 読み取りのみ(変更なし) | 値の上書き(即時反映) |
| 不可逆性 | なし | あり(上書き前の値は自動保存されない) |
| 影響範囲 | なし | WordPress の動作に即時影響する可能性がある |
| AIエージェントの実行 | 問題なし | 人間による確認を推奨 |
| 主な用途 | 設定確認・デバッグ・ヘルスチェック | 設定変更・移行・自動化スクリプト |
wp option get はデータベースを変更しないため、いつでも安全に実行できます。
一方 wp option update は値を即時上書きするため、実行前に wp option get で現在値を必ず確認しておく習慣をつけると安全です。
ユースケース
サイト移行後に URL 設定が正しく反映されているか確認する
# siteurl と home の両方を確認する
wp option get siteurl
wp option get home
# 期待値と一致しているかシェルスクリプトで検証する
SITEURL=$(wp option get siteurl)
if [ "$SITEURL" = "https://new.example.com" ]; then
echo "OK: siteurl が正しく設定されています"
else
echo "NG: siteurl が想定と異なります($SITEURL)"
fi
サイト移行後のデプロイスクリプトに組み込むことで、URL 設定のミスを自動検知できます。
siteurl と home の両方が正しく更新されているかをセットで確認するのが基本です。
プラグインの設定値をデバッグ時に確認する
# WooCommerce の通貨設定を確認する
wp option get woocommerce_currency
# Contact Form 7 のバージョンを確認する
wp option get wpcf7
# Yoast SEO のオプションを JSON で確認する
wp option get wpseo --format=json | jq '.'
プラグインが正常にインストール・設定されているかを管理画面を介さずに確認できます。
オプション名はプラグインのソースコードや wp option list --search="プラグイン名*" で調べられます。
AIエージェントが実行しようとした場合
AIエージェントの目的
AIエージェントは主に次のような目的で wp option get を実行しようとすることがあります。
- サイトの現在の設定値(URL・タイムゾーン・メールアドレスなど)を確認するための初期調査として実行することがあります。
wp option updateなどの変更操作を行う前に、上書き前の値をバックアップ目的で取得するために実行することがあります。- デプロイや移行後の検証スクリプトの一部として、期待値との一致を確認するために実行することがあります。
危険性
wp option get コマンドは、オプション値の読み取りのみを行いデータベースを一切変更しません。
危険性はなく、AIエージェントが実行しても問題ありません。ただし auth_key・secure_auth_key などのセキュリティキーや、プラグインが保存したAPIキーを取得した場合は、その値がログや出力に残らないよう注意してください。