rest_handle_multi_type_schema()


WordPressのrest_handle_multi_type_schema()関数は、REST APIのスキーマ定義で複数のデータ型をサポートするために使用されます。主にコールバック関数内で利用され、異なるデータ型のバリデーションや処理を行います。

構文

rest_handle_multi_type_schema( array $schema, mixed $value, string $param_path );

引数の説明:

  • $schema (array) — スキーマ定義の配列
  • $value (mixed) — 検証する値
  • $param_path (string) — パラメータのパス

例1: 基本的な使用例

整数または文字列を受け入れるスキーマを処理します。

$schema = ['type' => ['integer', 'string']]; $result = rest_handle_multi_type_schema($schema, 42, 'param');

例2: 配列の検証

配列またはnull値を許可する場合の処理。

$schema = ['type' => ['array', 'null']]; $result = rest_handle_multi_type_schema($schema, null, 'items');

例3: オブジェクト型の処理

オブジェクトまたはブール値の検証を行います。

$schema = ['type' => ['object', 'boolean']]; $result = rest_handle_multi_type_schema($schema, false, 'settings');

例4: 数値型のバリデーション

数値または数値の文字列表現を許可します。

$schema = ['type' => ['number', 'string']]; $result = rest_handle_multi_type_schema($schema, '3.14', 'price');

例5: カスタムスキーマの適用例6: エラー処理

無効な型が渡された場合の挙動。

$schema = ['type' => ['string']]; $result = rest_handle_multi_type_schema($schema, [], 'name');

例7: 複合型のネスト

ネストした配列構造の検証。

$schema = ['type' => ['array', 'object'], 'items' => ['type' => 'string']]; $result = rest_handle_multi_type_schema($schema, ['a', 'b'], 'tags');

注意点

  • スキーマ定義はRFC 3339やJSON Schema仕様に準拠する必要があります
  • 無効な型が指定された場合、WP_Errorオブジェクトが返される可能性があります
  • この関数は主に内部処理用であり、直接呼び出す場合は注意が必要です

関連機能: