プラグイン無しでWP REST APIからのユーザー情報の取得するのを防ぐ方法
WordPressでは「/wp-json/wp/v2/users」にアクセスすると、WordPressにログインしていなくてもREST APIでWordPressに登録されているユーザー情報が一覧で表示されます。
知られても問題なければそのままでもいいですが、ユーザーの名前に本名使用していたりして、外部に知られたくない場合は取得できないようにする必要があります。
実装方法
functions.phpに以下コードを追加します。
function filter_rest_endpoints( $endpoints ) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
}
add_filter( 'rest_endpoints', 'filter_rest_endpoints', 10, 1 );
上記のコードを追加すると「/wp-json/wp/v2/users」にアクセスしても401エラーを返して、REST APIが取得できなくなります。