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
まとめ
create_initial_rest_routes() は、WordPress における REST API の標準エンドポイント群を登録する中核関数です。
基本的に開発者が直接使う必要はありませんが、REST API の仕組みや拡張開発を行う際にはその役割を理解しておくと非常に役立ちます。REST API に独自のルートを追加したい場合は register_rest_route() を使用しましょう。
コメント