register_rest_route()


WordPressのregister_rest_route()関数は、カスタムREST APIルートを登録するために使用されます。

構文

register_rest_route( string $namespace, string $route, array $args );

引数の説明:

  • $namespace (string) — ルートをグループ化するための名前空間。
  • $route (string) — 登録するルートのパス。
  • $args (array) — ルートの引数設定。例: メソッド、コールバック関数、パーミッション。

例 1: シンプルなGETリクエストのルート

カスタムルートでGETリクエストを処理する簡単な例です。

register_rest_route( 'myplugin/v1', '/example', array(
    'methods' => 'GET',
    'callback' => function() {
        return array( 'message' => 'Hello, World!' );
    }
) );

例 2: パラメータを使用したルート

URLパラメータを利用するルートの例です。

register_rest_route( 'myplugin/v1', '/user/(?P<id>\d+)', array(
    'methods' => 'GET',
    'callback' => function( $data ) {
        return array( 'user_id' => $data['id'] );
    }
) );

例 3: POSTリクエストの処理

POSTリクエストを処理するルートの例です。

register_rest_route( 'myplugin/v1', '/submit', array(
    'methods' => 'POST',
    'callback' => function( $data ) {
        return array( 'submitted_data' => $data->get_params() );
    }
) );

例 4: カスタムパーミッションコールバック

特定のユーザー権限を確認するルートの例です。

register_rest_route( 'myplugin/v1', '/admin', array(
    'methods' => 'GET',
    'callback' => function() {
        return array( 'status' => 'Admin Access Granted' );
    },
    'permission_callback' => function() {
        return current_user_can( 'manage_options' );
    }
) );

例 5: コールバック関数を別途定義する

コールバック関数を関数として定義して使用する例です。

function my_custom_callback() {
    return array( 'message' => 'This is a custom callback!' );
}
register_rest_route( 'myplugin/v1', '/custom-callback', array(
    'methods' => 'GET',
    'callback' => 'my_custom_callback'
) );

注意点

  • REST APIルートを登録する際には、ユニークな$namespaceを使用してください。
  • パーミッションコールバックを正しく設定することで、セキュリティを確保してください。

関連機能: