WordPressで会員限定サイトやページを作成してアクセス制御をかけても、REST APIを通せばコンテンツが丸見えということがあります。どういったURLでコンテンツが覗かれてしまうのでしょうか。
REST APIの基本
WP-API は、HTTP クライアントから、Posts, Pages, Comments, Users, Terms などのリソースに対する CRUD の実行(Create, Read, Update, Delete)ができます。
WordPressで構築されたWebサイトのドメインに続けて、次のリクエスト URLを指定すると、リクエストに応じたコンテンツが表示されます。
基本のエンドポイント
// パーマリンク設定済み
https://sample.com/wp-json/wp/v2/
// パーマリンク未設定
https://sample.com/?rest_route=/wp/v2/
投稿のエンドポイント
// 投稿のベースルート
https://sample.com/wp-json/wp/v2/posts
// 公開されている全投稿を取得
https://sample.com/wp-json/wp/v2/posts/?status=published
// 最新の投稿を取得
https://sample.com/wp-json/wp/v2/posts/?per_page=1
// IDが123の投稿を取得
https://sample.com/wp-json/wp/v2/posts/123
// 特定の単語(someword)を含む全ての投稿を検索
https://sample.com/wp-json/wp/v2/posts?search=someword
カテゴリーのエンドポイント
// カテゴリーのベースルート
https://sample.com/wp-json/wp/v2/categories
固定ページのエンドポイント
// 固定ページのベースルート
https://sample.com/wp-json/wp/v2/pages
メディアのエンドポイント
https://sample.com/wp-json/wp/v2/media
ユーザーのエンドポイント
// ユーザーのベースルート
https://sample.com/wp-json/wp-json/wp/v2/users/
// ユーザーIDが1の投稿をリクエスト
https://sample.com/wp-json/wp-json/wp/v2/users/1
投稿タイプのエンドポイント
// 投稿タイプのベースルート
https://sample.com/wp-json/wp/v2/types
参考