rest_is_field_included( string $field, array $fields )
Given an array of fields to include in a response, some of which may be nested.fields
, determine whether the provided field should be included in the response body.
Description
If a parent field is passed in, the presence of any nested field within that parent will cause the method to return true
. For example "title" will return true if any of title
, title.raw
or title.rendered
is provided.
Parameters
- $field
-
(Required) A field to test for inclusion in the response body.
- $fields
-
(Required) An array of string fields supported by the endpoint.
Return
(bool) Whether to include the field or not.
Source
File: wp-includes/rest-api.php
function rest_is_field_included( $field, $fields ) {
if ( in_array( $field, $fields, true ) ) {
return true;
}
foreach ( $fields as $accepted_field ) {
// Check to see if $field is the parent of any item in $fields.
// A field "parent" should be accepted if "parent.child" is accepted.
if ( str_starts_with( $accepted_field, "$field." ) ) {
return true;
}
// Conversely, if "parent" is accepted, all "parent.child" fields
// should also be accepted.
if ( str_starts_with( $field, "$accepted_field." ) ) {
return true;
}
}
return false;
}
Changelog
Version | Description |
---|---|
5.3.0 | Introduced. |