トピック: add_rest_field() で REST API レスポンスに独自フィールドを追加する方法
—
概要
WordPressのREST APIを使用して独自のフィールドを追加したい場合、add_rest_field() 関数を使用することで簡単に実装することができます。このスニペットは、REST APIのレスポンスにカスタムフィールドを追加するための手法を提供します。
サンプルコード
// functions.php もしくはカスタムプラグイン内に以下のコードを追加
add_action( 'rest_api_init', function() {
register_rest_field( 'post',
'custom_field',
array(
'get_callback' => 'get_custom_field',
'update_callback' => null,
'schema' => null,
)
);
});
function get_custom_field( $object, $field_name, $request ) {
return get_post_meta( $object['id'], 'custom_field', true );
}
解説
- `add_action( 'rest_api_init', function() { … });` はREST API の初期化時にコールバック関数を追加します。
- `register_rest_field()` 関数は指定した投稿タイプ('post')に独自のフィールド('custom_field')を登録します。
- `get_custom_field` 関数は指定したカスタムフィールドの値を取得するコールバック関数です。
ベストプラクティス
- カスタムフィールドの値を取得するコールバック関数内で、適切なデータの取得方法を確認すること。
- REST APIのセキュリティを考慮し、適切な権限設定を行うこと。
—