WP AI Client完全解説——WordPress 7.0で変わるAI連携の新標準

WP AI Client完全解説——WordPress 7.0で変わるAI連携の新標準 WordPress
この記事は約17分で読めます。

「OpenAIとClaudeとGemini、3つのAPIキーをどのプラグインに登録するかで毎回迷う」——WordPressサイトでAIプラグインを複数使っていると、こんな悩みに直面しませんか。

WordPress 7.0で導入されるWP AI Clientは、この問題を根本から解決する。プラグインはもう独自の認証UIを作る必要がなく、wp_ai_client_prompt()関数ひとつでOpenAI・Claude・Geminiを統一的に扱える。

この記事では、WP AI Clientの基本から、Connectors UIの仕組み、認証管理のベストプラクティス、そして自作プラグイン「Rapls AI Chatbot」でWP AI Clientをどう統合するかの設計判断まで、プラグイン開発者の実務視点で解説する。

この記事の結論

WP AI ClientはWordPress 7.0で導入される「プロバイダー非依存」のAI連携標準です。サイト管理者がSettings > Connectors画面でAPIキーを一度設定すれば、対応するすべてのプラグインがそのプロバイダーを共有できる。開発者はwp_ai_client_prompt()関数のメソッドチェーンだけで、テキスト生成・画像生成・JSON構造化出力を実装でき、モデルの自動フォールバックも標準対応。APIキーの優先順位は「環境変数 > PHP定数 > データベース」で、本番環境では環境変数かPHP定数での管理を強く推奨します(DB保存分は現時点で平文)。

検証環境:WordPress 7.0 RC2 / PHP 8.3.21 / Cocoon 2.9.1.1 / Xserver(xs435215)
情報ソース:Make WordPress Core(AI Client・Connectors API dev notes)/ WordPress/php-ai-client(GitHub)/ WordPress/wp-ai-client(GitHub)/ WordPress AI Team(2026年4月時点の情報)

WordPress 7.0 関連記事

この記事はWordPress 7.0で導入されるWP AI Client APIの仕組みと実装方法を解説しています。WordPress 7.0の他の新機能・技術変更については以下もご覧ください。

WordPress 7.0の新機能を完全ガイド
WordPress 7.0の技術的変更点を深掘り
WordPress MCP × Claude Connector完全解説
DataViews完全ガイド【管理画面刷新】
Interactivity APIとは——jQuery不要の宣言的UI

WP AI Clientとは何か——「プロバイダー非依存」のAI連携標準

WP AI Clientは、WordPress 7.0で導入されたプロバイダー非依存のPHP APIです。プラグインが「何を」「どう」生成したいかを記述するだけで、WordPressが適切なプロバイダー・モデルへのリクエストをルーティングする。従来は各AIプラグインが独自に認証UI・APIキー保存・プロバイダー選択を実装していたが、WP AI ClientはこれをCoreレベルで標準化する。

用語が似ていて混同しやすいので、最初に整理する。

名称 役割
AI Client プラグインがAIモデルに接続するためのPHP API
Connectors API 外部サービスの接続情報を管理するフレームワーク
Connectors UI Settings > Connectors の管理画面。AIプロバイダーを一元管理
PHP AI Client 基盤となるプロバイダー非依存のPHP SDK(GitHub: WordPress/php-ai-client)

開発者から見ると、実質的には「wp_ai_client_prompt()関数を使うための仕組み一式」と理解して問題ない。

MCP(Model Context Protocol)によるAI連携とは役割が異なる。MCPは「AIがWordPressを操作する」ためのプロトコル、WP AI Clientは「WordPressがAIを呼び出す」ためのAPIだ。詳細は「WordPress MCP × Claude Connector完全解説」も参照してほしい。

Connectors UIで何が変わるのか——APIキーの重複入力からの解放

Settings > Connectors画面で、サイト管理者はAIプロバイダーを一箇所で設定できる。初期状態ではAnthropic・Google・OpenAIの3つが選択可能で、それぞれ個別の公式プラグインをインストールしてAPIキーを入力するだけで利用開始できる。WordPress Core自体にはAIプロバイダーは含まれず、実際の実装は別途プラグインとして提供される設計だ。

WordPress 7.0のSettings > Connectors管理画面。OpenAI・Anthropic・Googleの3プロバイダーがカード形式で表示

3つの公式プロバイダープラグイン

WordPress Core自体にはAIプロバイダーは含まれない。Coreはあくまで「土台」であり、実際のプロバイダー実装は別途プラグインとして提供される。これはAI分野の変化の速さに対応するための意図的な設計だ。

初期提供される3つの公式プラグインは以下のとおり。

WordPress 7.1以降は、Mistral・Cohere・ローカルOllama等のサードパーティプロバイダーもConnectors画面に登録できるようになる見込みだ。

APIキーのソース優先順位

APIキーは3つのソースから読み込めるが、優先順位が明確に定義されている。

  1. 環境変数(例:ANTHROPIC_API_KEY
  2. PHP定数(例:define( 'ANTHROPIC_API_KEY', 'sk-...' );
  3. データベース(管理画面で入力した値)

本番環境では環境変数かPHP定数での管理を推奨する。特にGit管理されているwp-config.phpに直接書くのは避け、.envファイル経由や環境変数で渡すのが安全だ。

セキュリティ上の注意点——DB保存は現時点で未暗号化

現時点ではデータベースに保存されたAPIキーは暗号化されていません。管理画面では一度保存したキーの完全な値を再表示できない(マスク表示になる)仕組みになっているが、データベース自体には平文で保存される。

暗号化対応はTrac #64789で検討されており、将来的に改善される見込みだ。それまでは、本番環境では環境変数かPHP定数での管理を強く推奨する。

WordPressのセキュリティ全般については「WordPressプラグイン31本にバックドア発覚——「転売」が生んだサプライチェーン攻撃の全貌と対策」も併せて参照してほしい。プラグインのサプライチェーン攻撃が現実化した今、APIキー管理の重要性は増している。

基本的な使い方——wp_ai_client_prompt()のメソッドチェーン

すべてのAIリクエストはwp_ai_client_prompt()関数から始まる。この関数はWP_AI_Client_Prompt_Builderオブジェクトを返し、メソッドチェーンでリクエストを組み立てる。テキスト生成・画像生成・動画生成・音声生成・テキスト読み上げをすべて同じAPIで扱えるのが特徴だ。

パターン1:シンプルなテキスト生成

プロンプトをwp_ai_client_prompt()の引数に直接渡すのが最もシンプルな書き方だ。返り値はテキストの文字列で、エラー時はWP_Errorが返る。WordPress の他のAPI同様、必ずis_wp_error()でチェックしてから利用する。

パターン2:温度とシステム命令の指定

メソッドチェーンで細かい設定が可能だ。温度、最大トークン数、Top-p、Top-k、停止シーケンスなど、主要なLLMパラメータはすべて対応している。

パターン3:JSONスキーマを指定した構造化出力

JSONスキーマを指定すると、モデルは指定された構造に従ったJSON文字列を返す。検索結果のパース処理、バリデーション、データベース登録など、構造化データが必要な場面で非常に使いやすい。

パターン4:画像生成

画像生成はgenerate_image()で、返り値はFileDTOオブジェクトだ。getDataUri()でData URI形式のソースを取得できる。動画、音声、テキスト読み上げも同様のメソッド体系で対応している。

"wp_ai_client_prompt()の実行コード例をハイライト表示した画面

モデルの優先指定と自動フォールバック——プロバイダー意識からの解放

using_model_preference()でモデルを指定できるが、これは「要求」ではなく「希望」です。指定したモデルがサイトで利用できなければ、互換性のある別のモデルに自動フォールバックする。プラグイン開発者は「どのプロバイダーが設定されているか」を知る必要がなくなる。

優先順リストを渡せば、WordPressが利用可能な中から最適なモデルを選んで使う。サイトAではClaudeを使い、サイトBではGeminiを使うといった環境差を、プラグイン側で意識せずに済む。

generate_text_result()(通常のgenerate_text()ではなく_result付き)を使うと、どのモデル・プロバイダーが実際に使われたかをレスポンスから取得できる。

これはトークン使用量の記録や、プロバイダー別の統計を取りたい場合に重宝する。

必須の機能サポート検出——UI表示前にis_supported_*()で確認

WordPress 7.0がインストールされていても、すべてのサイトでAI機能が使えるわけではない。UI表示前に必ずis_supported_*()メソッドで利用可否を確認する必要がある。このチェックはAPI呼び出しを行わないためコストがかからず、「プロバイダー未設定のサイトで『AI機能』ボタンだけ見える」という混乱を防げる。

モダリティ別に以下のメソッドが用意されている。

  • is_supported_for_text_generation() — テキスト生成
  • is_supported_for_image_generation() — 画像生成
  • is_supported_for_text_to_speech_conversion() — テキスト読み上げ
  • is_supported_for_speech_generation() — 音声生成
  • is_supported_for_video_generation() — 動画生成

AIが使えない環境で「AI機能」ボタンだけ表示されていると、ユーザーは混乱する。UI側で利用不可メッセージを出すか、ボタン自体を非表示にする運用が推奨される。

プロンプト実行制御フィルター——権限管理とコスト制御の要

wp_ai_client_prevent_promptフィルターを使うと、特定のプロンプト実行をブロックできる。権限管理やコスト制御、利用状況監査などに利用できる。このフィルターでブロックすると、AI呼び出しは行われず、is_supported_*()メソッドもfalseを返すため、関連UIもクリーンに非表示化できる。

用途の例としては以下のようなものが考えられる。

  • 権限管理:特定のロール(購読者・投稿者)からのAI呼び出しを禁止する
  • コスト制御:1日の呼び出し回数上限を設け、超過時にブロックする
  • 監査ログ:ブロック前にログテーブルへ記録し、誰がいつ何を呼び出したかを追跡する
  • メンテナンスモード:特定時間帯だけAI機能を止める

Rapls AI Chatbotでの対応方針——ハイブリッド実装を採用する3つの理由

拙作のAIチャットボットプラグイン「Rapls AI Chatbot」では、WP 7.0未満との後方互換性を保ちつつWP AI Clientを優先使用するハイブリッド実装で対応する予定です。A案(完全移行)・B案(独自UI維持)・C案(ハイブリッド)の3選択肢を比較した結果、既存ユーザーの離脱を防ぎながら新規ユーザーにはConnectors UIの利便性を提供できるC案を選択した。

現状の認証設計

Rapls AI Chatbotは現在、OpenAI・Anthropic・Gemini・OpenRouterの4系統について、独自の認証UIとAES-256-GCMによる暗号化保存を実装している。ユーザーは設定画面で直接APIキーを入力し、WP_Optionsに暗号化した状態で保存される仕組みだ。

WP 7.0対応にあたっての3つの選択肢

選択肢 内容 メリット デメリット
A案 Connectors API完全移行。独自UIは撤廃 コードがシンプルになる WP 7.0未満のユーザーが使えなくなる
B案 独自UI維持。WP AI Clientは使わない 既存ユーザーに影響なし WP 7.0の利便性を享受できない
C案 ハイブリッド(WP 7.0検出時はConnectors優先) 両方のメリットを取れる コード量は増える

採用はC案(ハイブリッド)。理由は以下の3点だ。

  1. WP 7.0への移行は段階的に進むため、しばらく両バージョンの共存が必要になる
  2. 既存ユーザーの設定を引き継ぎたい。強制移行は離脱を生む
  3. Connectors側の暗号化が未実装のため、セキュリティレベルを落とさないための自前暗号化が必要な場面がある

実装方針の概要

プラグイン設定画面には「Connectors APIに設定済みのAPIキーを使う」というチェックボックスを新設し、ユーザーが明示的に切り替えられるUIを提供する。デフォルトは既存ユーザーを壊さないよう「独自UI」側にしておく。

実際に書き換えるコード量

Rapls AI Chatbotで実際に影響を受けるのは認証情報取得の中核ロジック1箇所と、プロバイダーごとのAPI呼び出しラッパー4箇所だ。wp_ai_client_prompt()を使えば、OpenAI・Anthropic・Gemini用の個別SDK依存コードをすべて1つのラッパー関数に置き換えられる見込みだ。

OpenRouter対応のみ現時点ではConnectors側で未対応のため、独自実装を維持する。

Rapls AI Chatbotの設計思想やRAG実装の詳細については「Rapls AI Chatbot開発者が解説|なぜ作ったか・RAGの設計判断」で解説している。

Rapls AI Chatbotのプラグイン設定画面。Connectors API切り替えチェックボックスが表示されている

WordPress 7.1以降のロードマップ——AI基盤から統合接続基盤へ

WordPress 7.1(2026年8月予定)では、Connectors APIがさらに拡張される見込みだ。将来的には「AIプロバイダー」だけでなく、WordPressが連携する全ての外部サービスの統一的な接続管理基盤として機能していく計画。つまりConnectors APIは「AI専用」ではなく、WordPressとあらゆる外部サービスを繋ぐ汎用的な接続フレームワークへと進化する。

現時点で確認できている拡張予定は以下のとおりだ。

  • サードパーティプロバイダー(Mistral・Cohere・ローカルOllama等)のConnectorsページ対応
  • api_keynone以外の認証方式(OAuth等)のサポート
  • ai_provider以外のコネクタータイプの管理画面対応(例:外部ストレージ、検索サービス等)
  • APIキーのデータベース暗号化(Trac #64789

プラグイン開発者にとっては「AI連携を今から始める価値」が明確に高まったといえる。WP AI Client対応をいち早く実装したプラグインは、7.1・7.2でConnectors APIが拡大するにつれ、その恩恵をそのまま受けられるポジションに立てる。

まとめ——開発者視点で押さえるべき5つのポイント

WP AI Clientは、WordPressプラグイン開発者にとって認証まわりの重荷を取り除く重要な基盤機能だ。プラグインは「どのプロバイダー」ではなく「何を生成するか」だけを記述すれば良くなり、サイトオーナーは一度設定したAPIキーを全プラグインで再利用できる。既存プラグインの開発者は、ハイブリッド実装で段階的な移行を検討してほしい。

開発者視点で押さえるべきポイントを整理する。

項目 要点
エントリーポイント wp_ai_client_prompt()からメソッドチェーン
プロバイダー指定 using_model_preference()で優先順位、利用できなければ自動フォールバック
必須の事前チェック is_supported_*()でUI表示前に利用可否確認
認証管理 環境変数 > PHP定数 > DB の順で優先。DBは現状未暗号化
後方互換性 既存プラグインはWP 7.0未満への対応も考慮が必要

AI機能をプラグインに組み込みたい開発者は、まずはwp_ai_client_prompt()is_supported_for_text_generation()の組み合わせから試してみるのがおすすめだ。既存の独自認証UIを持つプラグインは、ハイブリッド実装で段階的に移行することを検討してほしい。

WordPress 7.0全体のアップデート手順については「WordPress 7.0 アップデート完全ガイド」で解説している。


参考リンク(公式一次情報):

コメント

タイトルとURLをコピーしました