—
概要
WordPressのREST APIを活用することで、外部アプリケーションやサービスとWordPressサイトを連携させたり、カスタムエンドポイントを作成したりすることが可能です。
- ユースケース: WordPressサイトから外部アプリケーションにデータを送信したい場合や、WordPressサイト内で独自のAPIエンドポイントを作成したい場合にREST APIが活用されます。
- 前提条件: WordPressのバージョン4.7以上を使用していることが必要です。また、REST APIが有効化されていることが前提条件となります。
サンプルコード
// 例: パブリックな投稿を取得するREST APIエンドポイントを作成する
add_action( 'rest_api_init', function () {
register_rest_route( 'custom/v1', '/posts/', array(
'methods' => 'GET',
'callback' => 'custom_get_posts',
) );
});
function custom_get_posts( $data ) {
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
);
$posts = get_posts( $args );
return $posts;
}
解説
- `add_action( 'rest_api_init', … )`: REST APIの初期化時に実行されるアクションフックを登録します。
- `register_rest_route()`: カスタムのREST APIエンドポイントを登録します。第1引数に名前空間、第2引数にエンドポイントのルート、第3引数にオプションを指定します。
- `callback`: エンドポイントにアクセスされた際に呼び出されるコールバック関数を定義します。
- `custom_get_posts()`: 実際にREST APIエンドポイントで行われる処理を記述します。この例では最新の10件のパブリック投稿を取得して返します。
ベストプラクティス
- エンドポイントの設計にはセキュリティやパフォーマンスを考慮してください。
- レスポンスの形式やデータの取得方法について、適切な認証やフィルタリングを行うことでセキュリティを向上させることが重要です。
- エラーハンドリングや適切なエラーメッセージの返却を行うことで、外部からのリクエストに対して適切に対応できるようにします。
—