rest_parse_embed_param()


WordPressのrest_parse_embed_param()関数は、REST APIリクエストで_embedパラメータを解析し、埋め込みリソースを処理するために使用されます。

構文

rest_parse_embed_param( $value );
  • $value (string|bool)_embedパラメータの値。trueまたは文字列を受け取ります。

例1: _embedパラメータをtrueで解析

_embedパラメータがtrueの場合の基本的な使用例です。

rest_parse_embed_param(true);

例2: _embedパラメータを文字列で解析

カンマ区切りの文字列で複数の埋め込みリソースを指定します。

rest_parse_embed_param('author,replies');

例3: REST APIリクエストで_embedを使用

REST APIエンドポイントで_embedパラメータを処理します。

add_filter('rest_request_before_callbacks', function($response, $handler, $request) { if ($request->get_param('_embed')) { rest_parse_embed_param($request->get_param('_embed')); } return $response; }, 10, 3);

例4: 無効な_embedパラメータの処理

無効な値が渡された場合の挙動を確認します。

rest_parse_embed_param('invalid_value');

例5: カスタムRESTルートでの_embed使用

カスタムRESTルートで埋め込みリソースを許可します。

register_rest_route('myplugin/v1', '/posts', array( 'methods' => 'GET', 'callback' => 'my_callback', 'args' => array( '_embed' => array( 'validate_callback' => 'rest_parse_embed_param' ) ) ));

例6: _embedパラメータのバリデーション

_embedパラメータの値をバリデーションします。

function validate_embed_param($value) { return rest_parse_embed_param($value) !== false; }

例7: 埋め込みリソースのフィルタリング

許可された埋め込みリソースのみを処理します。

add_filter('rest_embed_resources', function($resources) { return array_intersect($resources, ['author', 'featured_media']); });

注意点

  • _embedパラメータは公開データに影響するため、権限管理に注意が必要です。
  • 無制限に埋め込みリソースを許可するとパフォーマンスの問題が発生する可能性があります。

関連機能: