rest_application_password_check_errors()


WordPressのrest_application_password_check_errors()関数は、REST APIのアプリケーションパスワード認証時に発生するエラーをチェックするために使用されます。

構文

rest_application_password_check_errors( WP_Error $errors, array $data, string $action );

引数の説明:

  • $errors(WP_Error) — エラーオブジェクト
  • $data(array) — 認証データを含む配列
  • $action(string) — 実行中のアクション名

例1: 基本的なエラーチェック

REST APIリクエスト時にアプリケーションパスワードのエラーをチェックします。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { return $errors; }, 10, 3);

例2: カスタムエラーメッセージの追加

認証失敗時にカスタムエラーメッセージを追加します。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { $errors->add('custom_error', '認証に失敗しました'); return $errors; }, 10, 3);

例3: 特定のアクションでのみ処理

特定のアクション時のみエラーチェックを実行します。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { if ('create' === $action) { /* 処理 */ } return $errors; }, 10, 3);

例4: データバリデーション

認証データを検証します。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { if (empty($data['username'])) { $errors->add('empty_username', 'ユーザー名が必要です'); } return $errors; }, 10, 3);

例5: 複数エラーの処理

複数のエラー条件をチェックします。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { if (!isset($data['app_id'])) $errors->add('missing_app_id', 'アプリIDが必要です'); if (!isset($data['password'])) $errors->add('missing_password', 'パスワードが必要です'); return $errors; }, 10, 3);

例6: 外部APIとの連携

外部サービスと連携して認証を検証します。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { if (!external_api_validate($data)) { $errors->add('external_validation', '外部検証に失敗しました'); } return $errors; }, 10, 3);

例7: ロギングの追加

エラー発生時にログを記録します。

add_filter('rest_application_password_check_errors', function($errors, $data, $action) { if ($errors->has_errors()) { error_log('REST認証エラー: ' . print_r($errors, true)); } return $errors; }, 10, 3);

注意点

  • この関数はフィルターフックとして使用されます
  • 常にWP_Errorオブジェクトを返す必要があります
  • 機密情報をログに記録しないでください

関連機能: