rest_handle_doing_it_wrong()


WordPressのrest_handle_doing_it_wrong()関数は、REST APIで不正な操作が行われた際にエラーメッセージを処理するために使用されます。

構文

rest_handle_doing_it_wrong( string $function, string $message, string $version );

引数の説明:

  • $function (string) — エラーが発生した関数名
  • $message (string) — 表示するエラーメッセージ
  • $version (string) — 非推奨となったバージョン

例1: 基本的な使用法

不正な関数が呼び出された場合にエラーを表示します。

rest_handle_doing_it_wrong( 'my_custom_function', 'この関数は非推奨です', '5.2.0' );

例2: フック内での使用

フック内で不正な操作を検出した場合に使用します。

add_filter( 'rest_pre_dispatch', function() { rest_handle_doing_it_wrong( 'rest_pre_dispatch', '不正なアクセスです', '4.7.0' ); } );

例3: クラスメソッドとの連携

クラス内でエラー処理を行う例です。

class My_REST_Controller { public function register_routes() { rest_handle_doing_it_wrong( __METHOD__, 'このメソッドは非推奨です', '5.0.0' ); } }

例4: バージョンチェック付き

特定のバージョンで非推奨になった機能を通知します。

if ( version_compare( get_bloginfo( 'version' ), '5.0.0', '<' ) ) { rest_handle_doing_it_wrong( 'old_function', 'この機能はWordPress 5.0.0以降で利用できません', '5.0.0' ); }

例5: デバッグモードでの使用

デバッグ時にのみエラーを表示します。

if ( WP_DEBUG ) { rest_handle_doing_it_wrong( 'debug_function', 'デバッグモードでのみ表示されます', '5.3.0' ); }

例6: REST APIエンドポイントでの使用

カスタムRESTエンドポイントで不正なリクエストを検出した場合。

register_rest_route( 'my-namespace/v1', '/endpoint/', array( 'callback' => function() { rest_handle_doing_it_wrong( 'my_endpoint', '不正なパラメータです', '5.1.0' ); } ) );

例7: 条件付きエラーハンドリング

特定の条件でエラーを発生させます。

if ( ! current_user_can( 'edit_posts' ) ) { rest_handle_doing_it_wrong( 'restricted_access', '投稿を編集する権限がありません', '5.4.0' ); }

注意事項

  • 本関数は開発者向けのデバッグ用途を想定しています
  • 本番環境では適切なエラーハンドリングが必要です
  • エラーメッセージは明確かつ具体的に記述してください

関連機能: