ウェブアプリケーション、モバイルアプリ、またはプログラムでWordPressサイトと連携する必要があるフロントエンドクライアントを構築している場合、WordPress APIは重要なツールとなります。適切に設定されたサイトとWordPress(またはWordPress.com)が提供するRESTエンドポイントを使用することで、投稿の取得、新規コンテンツの作成、既存ページの編集、ユーザー管理、コメント管理など、すべて標準的なHTTPリクエストを通じて行うことができます。このガイドでは、WordPress APIの開始方法、URL構造の仕組み、CRUD操作の実行方法、そしてブラウザや**Apidog**のようなAPIツールを使ってすべてをテストする方法について説明します。
開発チームが最大限の生産性で協力できる統合されたオールインワンプラットフォームをお探しですか?
Apidogは、お客様のすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます!
WordPress APIを使い始める
a) アカウントまたはサイトのセットアップ
- 自己ホスト型WordPressサイト(WordPress.org)を使用している場合は、サイトがインストールされ、稼働していることを確認してください。

- WordPress.comサイトを使用している場合は、WordPress.comにサインインし、サイトダッシュボードを見つけてください。

- REST APIアクセスが有効になっていることを確認してください。デフォルトでは、最新のWordPressインストールは`your-site-url/wp-json/`でWP REST APIを公開しています。
サイトへのアクセス(および適切な権限)があれば、追加のアカウント作成は不要です。REST APIはWordPressコアに組み込まれており、デフォルトでアクセス可能です。
b) ベースURL構造の理解
自己ホスト型WordPressサイトの場合、ベースAPI URLは次のとおりです。
https://your-site.com/wp-json/
例えば、投稿を取得するには次をターゲットにします。
https://your-site.com/wp-json/wp/v2/posts
パーマリンクが「投稿名」などの分かりやすい形式(pretty permalinks)でない場合でも、WordPressはクエリパラメータによるフォールバックでAPIを提供できますが、ほとんどの最新のセットアップでは、`/wp-json/`がすぐに機能します。
WordPress.comでホストされているサイト(またはWordPress.com REST APIを使用するサイト)の場合、URL構造はネームスペースとサイト識別子によって多少異なる場合があります。例えば:
https://public-api.wordpress.com/{namespace}/{version}/sites/{site_id}/...
ベースURL構造に関するより詳細なガイドについては、WordPress Developer Resourcesの公式ドキュメントをご覧ください。
WordPress REST APIの使用:CRUD操作
WordPress APIは、適切なHTTPメソッド(POST、GET、PUT、DELETE)を使用して、すべての標準的なCRUD操作(作成、読み取り、更新、削除)をサポートしています。ブラウザまたはApidogを使用してテストできる具体的な例を挙げて、それらを分解してみましょう。
1. 読み取り:投稿またはページの取得
- 投稿のリストを取得するには:
GET https://your-site.com/wp-json/wp/v2/posts
- IDで単一の投稿を取得するには:
GET https://your-site.com/wp-json/wp/v2/posts/{id}
- クエリパラメータを追加して、結果をフィルタリングまたはページ分割できます。例えば:
GET https://your-site.com/wp-json/wp/v2/posts?per_page=5&page=2
GET https://your-site.com/wp-json/wp/v2/posts?status=draft
ペイロードサイズを削減し、パフォーマンスを向上させるために、`_fields`クエリパラメータ(例:`? _fields=id,title,excerpt,link`)を使用して、返されるフィールドを制御することもできます。
これは、サイトが公開している内容に応じて、ページ(`/wp-json/wp/v2/pages`経由)や、メディア、コメントなどの他のリソースタイプにも適用されます。
2. 作成:新しい投稿の追加
認証済み(管理者または権限を持つユーザーとして)の場合、次のようにして新しい投稿を作成できます。
POST https://your-site.com/wp-json/wp/v2/posts
例えば、JSONボディで次のようにします。
{
"title": "My New API Post",
"content": "This post was created via the WordPress API.",
"status": "publish"
}
このリクエストにより新しい投稿が作成されます。すぐに公開したくない場合は、任意でステータスを`"draft"`または他の有効なステータスに設定できます。
3. 更新:既存の投稿の編集
IDで投稿を更新するには(例:タイトルやコンテンツの更新):
PUT https://your-site.com/wp-json/wp/v2/posts/{id}
ボディの例:
{
"title": "Updated Title via API",
"content": "Updated content from API."
}
あるいは、一部の実装では`PATCH`を受け入れます。リクエストが成功すると、APIは更新された投稿オブジェクトを応答します。
4. 削除:投稿の削除
IDで投稿を削除するには:
DELETE https://your-site.com/wp-json/wp/v2/posts/{id}
デフォルトでは、通常、これにより投稿はゴミ箱に移動します(ゴミ箱が有効な場合)。サポートされている場合は、パラメータ(サイトの設定による)を追加して完全に削除することもできます。
WordPress APIを使用する際の認証とセキュリティに関する考慮事項
- 公開データ(例:公開された投稿)は、認証なしで取得できることがよくあります。
- コンテンツを作成、更新、または削除するには、通常、WordPressログインクッキー、アプリケーションパスワード(WP 5.6以降で利用可能)、またはOAuth/トークンベースのシステムを介した認証が必要です。
- 資格情報と転送中のデータを保護するため、本番環境では常にHTTPSを使用してください。
WordPress APIエンドポイントのテスト(ブラウザまたはApidog)
ブラウザまたはApidogのようなAPIテストツールを使用して、エンドポイントを簡単にテストできます。
ブラウザを使用する:
- URL(例:`.../wp-json/wp/v2/posts`)をブラウザのアドレスバーに貼り付けます。
- ブラウザは生のJSONを表示します。読みやすくするために、JSONフォーマッター拡張機能(例:Chrome、Firefox用JSON Formatter)をインストールしてください。

Apidogを使用する:
- Apidogで新しいAPIエンドポイントを作成します。
- URL(例:`/wp-json/wp/v2/posts`)を入力します。
- HTTPメソッド(GET, POST, PUT, DELETE)を選択します。
- 必要に応じてヘッダーを追加します(認証用)。

- リクエストを送信し、JSONレスポンスを検査します。Apidogは構造化されたJSON、エラー、レスポンスヘッダーを表示し、生のブラウザ出力よりもデバッグを容易にします。

この方法は、JSONリクエストボディやカスタムヘッダーを送信する簡単な方法がブラウザ単体では欠けているPOST/PUT/DELETEリクエストに特に役立ちます。
WordPress APIを使用する開発者向けのベストプラクティスとヒント
- 大量のデータを取得する際には、ペイロードサイズを制限するために`_fields`またはページネーションパラメータを使用してください。
- 書き込み操作には、アプリケーションパスワードまたはOAuthを使用して安全に認証してください。
- サイトのパーマリンク設定を確認してください。分かりやすいパーマリンクまたはフォールバックRESTルート(`wp-json/`)が機能していることを確認してください。
- 権限を処理してください。適切なロールを持つユーザーのみがコンテンツを作成または削除できます。
- レート制限とエラー処理を行ってください。APIの障害を適切に処理し、サーバーリソースを尊重してください。
- ブラウザでテストする際は、可読性やデバッグのためにJSON整形ツールを使用してください。
よくある質問(FAQ)
Q1. WordPress APIを使用するには、常にAPIキーが必要ですか?
いいえ、公開された投稿や公開ページなどの公開データの場合、認証なしでGETリクエストを使用できます。ただし、コンテンツの作成、編集、または削除には、通常、適切な資格情報が必要です。(この件に関する詳細は、WPZOOMをご覧ください)
Q2. `wp-json/wp/v2/`と`public-api.wordpress.com`エンドポイントの違いは何ですか?
`wp-json/wp/v2/`は、自己ホスト型WordPressサイト(WordPress.org)で使用されます。`public-api.wordpress.com/...`構造は、WordPress.comでホストされているサイトで使用されます。ベースURLとネームスペースは異なりますが、REST APIの概念は類似しています。(Noroff FEU Content Systemでさらに多くの例を見る)
Q3. APIでカスタムエンドポイントを作成したり、カスタム投稿タイプを公開したりできますか?
はい、できます。デフォルトでは、コア投稿タイプ(投稿、ページ、メディア、コメントなど)が公開されています。カスタム投稿タイプやカスタムフィールド(メタデータ)の場合、テーマやプラグインでRESTサポートを登録する必要がある場合があります(例:`register_post_type(..., 'show_in_rest' => true)`を使用)。
Q4. コードを書かずにAPIエンドポイントをテストするにはどうすればよいですか?
ブラウザ(GETリクエストの場合)を使用できます。エンドポイントURLにアクセスするだけです。POST/PUT/DELETE(または認証が必要な操作)の場合は、**Apidog**のようなAPIクライアントツールを使用してください。JSONボディの送信、ヘッダーの設定、レスポンスの検査を簡単に行うことができます。
Q5. APIを介してユーザーデータやコメントデータを公開しても安全ですか?
サイトが特定の公開リソース(公開されている投稿やコメントなど)へのパブリックアクセスを許可している場合、はい、APIは許可されているもののみを返します。プライベートデータや認証が必要な操作の場合は、適切な認証と権限が設定されていることを確認してください。
まとめ
WordPress APIは、WordPressサイトをプログラム可能なバックエンドに変換し、標準のHTTP呼び出しを介してコンテンツの読み取り、作成、更新、削除を可能にします。ヘッドレスCMSのフロントエンド、モバイルアプリの構築、コンテンツワークフローの自動化など、REST APIは堅牢で柔軟なインターフェースを提供します。
URL構造、コアエンドポイント、CRUDセマンティクス、認証、およびテスト方法論(ブラウザまたはApidog経由)を理解することで、WordPressを事実上あらゆる外部システムと統合できます。安全な認証、効率的なクエリ、適切な処理といった優れたAPI実践を行うことで、WordPressは単なるブログプラットフォームを超え、フル機能のコンテンツバックエンドとなります。
開発チームが最大限の生産性で協力できる統合されたオールインワンプラットフォームをお探しですか?
Apidogは、お客様のすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます!
