MENU

create_initial_rest_routes()

create_initial_rest_routes() は、WordPress の REST API における初期の標準ルート(エンドポイント)を登録する関数です。

主に投稿、ユーザー、メディア、タクソノミーなどのエンドポイントを REST API に追加するため、WordPress の API 機能を利用する上で基盤となる関数です。

目次

基本構文

create_initial_rest_routes();

この関数は WordPress コアによって rest_api_init アクションで自動的に呼び出されます。

引き数と戻り値

項目内容
引き数なし
戻り値なし(void

使用例

タグを使った使用例

通常は開発者が直接呼び出すことはありませんが、以下は参考例です。

add_action( 'rest_api_init', function () {
    create_initial_rest_routes(); // 再登録(※通常不要)
});

この例のように rest_api_init フック内で明示的に呼ぶことは基本的に必要ありません。

注意点

  • 通常、開発者が手動で呼び出すことはありません
  • REST API の拡張は register_rest_route() を使用して行うのが適切です。
  • コアによって自動的に呼び出されるため、フックの競合や順序に注意が必要です。

よく一緒に使われる関数

register_rest_route()

register_rest_route( 'myplugin/v1', '/hello', [
    'methods' => 'GET',
    'callback' => 'my_hello_callback',
]);

REST API に独自のルートを追加する関数。

rest_api_init

add_action( 'rest_api_init', 'register_my_rest_routes' );

REST API のルートを登録するタイミングに使うアクションフック。

rest_ensure_response()

return rest_ensure_response( [ 'message' => 'Success' ] );

REST API の戻り値をレスポンス形式に整える関数。

想定されるトラブル(最低2つ)

REST API で標準エンドポイントが利用できない

何らかの原因で create_initial_rest_routes() の登録処理がスキップされた可能性があります。

解決方法

プラグインやテーマが rest_api_init を上書きしていないか確認し、WordPress のコアファイルが破損していないかチェックします。

REST API の応答が 404 になる

リライトルールが更新されておらず、REST API が正しく認識されていない場合があります。

解決方法

管理画面の「パーマリンク設定」を再保存することでリライトルールを更新します。

Q&A

この関数でどんなルートが登録される?

投稿(posts)、ページ(pages)、ユーザー(users)、メディア(media)、タクソノミー(categories/tags)など。

独自のルートはここで追加するの?

いいえ、独自ルートは register_rest_route() を使って追加します。

REST API を無効化するにはどうすれば?

rest_authentication_errors フィルターで制御できますが、慎重に扱うべきです。

まとめ

create_initial_rest_routes() は、WordPress における REST API の標準エンドポイント群を登録する中核関数です。

基本的に開発者が直接使う必要はありませんが、REST API の仕組みや拡張開発を行う際にはその役割を理解しておくと非常に役立ちます。REST API に独自のルートを追加したい場合は register_rest_route() を使用しましょう。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次