WordPressの/wp-json/を変更したい

 セキュリティ的な理由で/wp-json/へのアクセスは完全ブロックしている。
だけど、AMPプラグインがREST APIを使うようになっているので管理画面で不具合が起きる。

そこでデフォルトのエンドポイントである「/wp-json/」から変更したときの覚書。

環境: Nginx 1.18.0, PHP 7.4.14, WordPress 5.6


REST APIのエンドポイントを変更

参考

エンドポイントを決定しているのはwp-includes/rest-api.phpのrest_get_url_prefix関数。

ここのapply_filtersにフックして変更すればOK

function func_rest_url_prefix( $slug ) {

flush_rewrite_rules();

return 'api';

}

add_filter( 'rest_url_prefix', 'func_rest_url_prefix');


「flush_rewrite_rules」しないと変更完了しないので注意。

apiやrest-apiなど一般的な名前だと狙われるのでよく考えて決めた方がいい。


【関連記事】

コメント