ACF 6.8がWordPressをAIエージェントの操作対象にする
目次
ACFからリリースメールが来た。いつものアップデートかと思って流し読みしたら「AI-Ready & Discoverable Content」というタイトルで、WordPress Abilities API統合だのSchema.org構造化データだの書いてある。WordPressのカスタムフィールドプラグインがAI対応とは何事か、気になったので調べた。
ACF 6.8の3つの新機能
ACF(Advanced Custom Fields)はWordPressにカスタムフィールドを追加するプラグインで、カスタム投稿タイプやタクソノミーの管理機能も持っている。WordPress開発では定番中の定番。
6.8で追加された機能は以下の3つ。
- WordPress Abilities API統合
- Schema.org構造化データの自動生成
- WP-CLIコマンドによるACF JSON管理
順番に見ていく。
WordPress Abilities APIとは
ACF 6.8の機能を理解するには、まずWordPress側のAbilities APIを知る必要がある。
Abilities APIはWordPress 6.9で導入されたAPIで、WordPress Core AIチームが2025年5月の発足以降開発を進めてきた。プラグインやテーマが「自分に何ができるか」を機械可読な形式で宣言・公開するための仕組みで、外部ツールやAIエージェントがWordPressの機能を発見・実行できるようにする。
従来、WordPressプラグインの機能を外部から利用するには、プラグインごとに異なるREST APIエンドポイント、アクション/フィルターフック、グローバル関数などを個別に把握する必要があった。Abilities APIはこれを統一的なインターフェースに標準化する。
graph TD
A[プラグイン・テーマ] -->|wp_register_ability| B[Abilities Registry]
B -->|wp_get_abilities| C[PHP内部からの利用]
B -->|REST API| D[外部ツール]
B -->|MCP Adapter| E[AIエージェント<br/>Claude, Cursor等]
B -->|JavaScript Client| F[ブロックエディタ]
各Abilityは以下の情報を持つ。
| 要素 | 説明 |
|---|---|
| 一意な識別子 | namespace/ability-name 形式 |
| ラベル・説明文 | 人間が読める形式の名前と説明 |
| カテゴリ | 機能の分類 |
| 入力スキーマ | JSONスキーマで定義されたパラメータ仕様 |
| 出力スキーマ | 返却データの型定義 |
| 実行コールバック | 実際の処理ロジック |
| 権限コールバック | 実行可否を判定する関数 |
開発者コミュニティからの評価は高く、「Hooks以来最大のDX改善」「カスタム投稿タイプ以来最大のアーキテクチャ変更」といった声が出ている。WordPress 7.0ではクライアントサイドのAbilities APIも追加される予定。
ACF 6.8のAbilities API統合
ACF 6.8はこのAbilities APIを使って、ACFの機能をAIエージェントや外部ツールに公開する。
公開される操作(Ability)は3カテゴリに分かれる。
フィールドグループ操作
- AIアクセスが許可されたフィールドグループの一覧取得
- フィールド定義・ロケーションルール付きの新規フィールドグループ作成
カスタム投稿タイプ操作
- ACF登録済み投稿タイプの一覧取得
- 新規投稿タイプの作成
- 投稿の検索・作成・閲覧・更新・削除
カスタムタクソノミー操作
- ACF登録済みタクソノミーの一覧取得
- 新規タクソノミーの作成
- タームの検索・作成・閲覧・更新・削除
つまりAIエージェントが自然言語の指示から「レシピ用のカスタム投稿タイプを作って、材料・調理時間・手順のフィールドグループを定義して」といった操作を実行できるようになる。
有効化とアクセス制御
この機能はデフォルトで無効。有効にするにはfunctions.phpにフィルターを追加する。
add_filter( 'acf/settings/enable_acf_ai', '__return_true' );
アクセス制御のモデルは以下の通り。
- 既存のフィールドグループ・投稿タイプ・タクソノミーはデフォルトでAIアクセス無効。管理画面の設定タブから個別にオプトイン
- 有効化後に新規作成されたアイテムはデフォルトでAIアクセス有効
- すべてのAbilityはWordPressのユーザー権限を尊重。実行ユーザーはACF権限(デフォルトは
manage_options)を持つ必要がある
MCP Adapterで実際にAIエージェントと接続する
Abilities APIだけではAbilityが「登録」されるだけで、外部のAIエージェントとは直接つながらない。ここで登場するのがWordPress MCP Adapter。
MCP(Model Context Protocol)はAnthropicが策定したプロトコルで、AIエージェントが外部ツールと通信するための標準仕様。WordPress MCP Adapterは、Abilities APIで登録された機能をMCPのプリミティブ(Tool, Resource, Prompt)に変換して公開する。
graph LR
A[Claude Desktop<br/>Cursor<br/>Claude Code] -->|MCP Protocol| B[WordPress MCP Adapter]
B -->|Abilities API| C[ACF 6.8]
C --> D[フィールドグループ]
C --> E[カスタム投稿タイプ]
C --> F[タクソノミー]
接続方法は2種類ある。
STDIOトランスポート(ローカル開発用)
WP-CLIを使ってローカルのWordPress環境に接続する。Claude DesktopやCursorの設定ファイルにWP-CLIコマンドのパスとWordPressのディレクトリを指定する。
HTTPトランスポート(リモート接続用)
@automattic/mcp-wordpress-remoteパッケージを使って公開WordPressサイトに接続する。WordPressのアプリケーションパスワードやOAuth認証が必要。
これにより、たとえばClaude Desktopから「このWordPressサイトにイベント管理用のカスタム投稿タイプを作って、日時・場所・定員のフィールドを追加して」と指示すれば、ACFの機能を通じて実際に投稿タイプとフィールドグループが作成される。
Schema.org構造化データの自動生成
2つ目の機能はSEO・AI発見性に関わる。ACFのカスタムフィールドからSchema.orgの構造化データ(JSON-LD)を自動生成する。
これは検索エンジンだけでなく、AIによる回答生成エンジン(Perplexity、Google AI Overviewなど)がコンテンツの構造を理解するための機能。GEO(Generative Engine Optimization)やAEO(Answer Engine Optimization)と呼ばれる分野に対応する。
有効化するにはフィルターを追加する。
add_filter( 'acf/settings/enable_schema', '__return_true' );
対応するSchema.orgの規模は867タイプ・1,509プロパティ。ACFのフィールドタイプに応じて自動変換される。
| ACFフィールド | Schema.org出力 |
|---|---|
| テキスト・WYSIWYG | Text, Name, URL |
| 数値・範囲 | Integer, Float |
| 日付ピッカー | ISO 8601形式の日付 |
| 画像 | ImageObject(メタデータ付き) |
| リピーター | プロパティの配列 |
| ユーザー | Personスキーマ |
たとえばレシピ投稿タイプにフィールドをマッピングすると、ページのheadに以下のようなJSON-LDが自動出力される。
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "チョコチップクッキー",
"prepTime": "PT15M",
"recipeIngredient": ["薄力粉 200g", "砂糖 100g"],
"author": {
"@type": "Person",
"name": "Jane Baker"
}
}
投稿者情報・アイキャッチ画像・公開日・URLは自動で含まれる。ACF Blocksでもblock.jsonのautoJsonLdプロパティで有効化可能。
この機能はexperimental(実験的)とされている。GEO分野自体が急速に変化しているため。
WP-CLIコマンド
3つ目はACF JSONの管理コマンド。CI/CDパイプラインでの運用を想定している。
| コマンド | 機能 |
|---|---|
wp acf json status | フィールドグループ・投稿タイプ・タクソノミーの同期状態を表示 |
wp acf json sync | JSONファイルをデータベースに同期 |
wp acf json import | JSONをデータベースにインポート(--dry-run対応) |
wp acf json export | アイテムをJSONファイルにエクスポート |
wp acf json sync --type=field-groupのようにタイプ指定も可能。デプロイ自動化には便利だが、AI対応とは直接関係ない。
セキュリティ上の気になる点
Abilities API統合はオプトイン制で権限チェックも入っているが、いくつか注意すべき点がある。
MCP Adapterでのトークン露出
MCP AdapterプラグインのNo-Auth URL機能を有効にすると、/wp-json/ REST APIインデックスからベアラートークンが露出する問題が報告されている。このトークンはAIエージェントの認証クレデンシャルとして機能するため、コンテンツ管理・コマンド実行・ユーザーアカウント変更が可能になる。
「新規作成はデフォルトでAIアクセス有効」という設計
既存アイテムはオプトインだが、有効化後に新規作成したアイテムはデフォルトでAIアクセスが有効になる。うっかり機密データを含むフィールドグループを作成すると、意図せずAIからアクセス可能になるリスクがある。
粒度の粗い権限モデル
ACF Abilityの実行に必要な権限はデフォルトでmanage_options(管理者権限)。フィールドグループ単位・フィールド単位の細かいアクセス制御は提供されていない。「このフィールドグループは読み取りだけ許可、あのフィールドグループは書き込みも許可」のような運用はAbilities API側ではできない。
本番環境での利用リスク
MCP Adapterのドキュメントでも「MCP Clientは認証済みWordPressユーザーとして動作する」と明記されている。過度に権限を持つAbilityを本番環境で公開すると、外部サービスに管理者アクセスを与えるのと同じリスクになる。専用のMCPユーザーを作成し、アプリケーションパスワードのスコープを制限し、ステージング環境でテストしてから本番に適用するのが推奨されている。
無料版でも使える
リリースブログが「ACF PRO 6.8」と銘打たれていたし、ベータもPRO限定配信だったので有料機能かと思ったが、GitHubの無料版リポジトリにも同じ6.8.0がリリースされている。Abilities API統合・Schema.org構造化データ・WP-CLIコマンドの3機能すべてが無料版に含まれている。
公式ドキュメントでも各機能の要件は「ACF 6.8 or later」とだけ記載されていて、Pro限定の表記はない。Pro限定なのは従来通りACF Blocks、Options Pages、Repeater、Flexible Content、Gallery、Cloneの各フィールドタイプ。
ベータがPro限定だったのは早期アクセス特典で、正式リリースで無料版にも展開された形。WordPress Abilities API自体がWordPressコアの機能なので、基盤となるプラグイン側の実装を有料化するのは筋が通らないという判断だろう。
「AI」って書いてあるからまたマーケティングかと思ったら、WordPress Abilities APIの上に構築されたまともな機能だった。ただ、本番でAIエージェントにWordPressの管理者権限を渡すのはまだ怖い。ステージング環境でのプロトタイピングくらいから始めるのが現実的だろう。