—
概要
- ユースケース:WordPressのREST APIを使用して、特定のユーザーが作成した投稿を外部アプリケーションで表示したい場合に、このスニペットが必要となります。
- 前提条件:WordPressサイトがREST APIを有効にしており、特定ユーザーの投稿を取得する権限を持つユーザーアカウントを持っている必要があります。
サンプルコード
<?php
$user_id = 2; // 取得したいユーザーのID
$request = new WP_REST_Request('GET', '/wp/v2/posts');
$request->set_param('author', $user_id);
$response = rest_do_request($request);
$results = $response->get_data();
foreach ($results as $post) {
echo $post['title']['rendered'] . '<br>';
echo $post['content']['rendered'] . '<br>';
}
解説
- `$user_id = 2;`:特定のユーザーのIDを指定します。
- `$request = new WP_REST_Request('GET', '/wp/v2/posts');`:REST APIを使用して投稿を取得するリクエストを作成します。
- `$request->set_param('author', $user_id);`:リクエストに特定のユーザーの投稿を取得するためのパラメーターを設定します。
- `$response = rest_do_request($request);`:リクエストを実行し、レスポンスを取得します。
- `$results = $response->get_data();`:取得したデータを$resultsに代入します。
- `foreach ($results as $post) { … }`:取得した投稿をループして表示します。
ベストプラクティス
- ユーザーIDを動的に取得する場合は、セキュリティ上のリスクを避けるために、適切な認証や権限チェックを行うことが重要です。
- 取得したデータを表示する前に、HTMLエスケープや適切なフィルタリングを行うことでセキュリティを強化しましょう。
—