rest_is_field_included() – 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.

You appear to be a bot. Output may be restricted

Description

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.

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.

Usage

$bool = rest_is_field_included( $field, $fields );

Parameters

$field
( string ) required – A field to test for inclusion in the response body.
$fields
( array ) required – An array of string fields supported by the endpoint.

Returns

bool Whether to include the field or not.

Source

File name: wordpress/wp-includes/rest-api.php


Lines:

1 to 27 of 27
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;
}
 

 View on GitHub View on Trac