W3cubDocs

/WordPress

WP_REST_Attachments_Controller::prepare_items_query( array $prepared_args = array(), WP_REST_Request $request = null )

Determines the allowed query_vars for a get_items() response and prepares for WP_Query.

Parameters

$prepared_args

(array) (Optional) Array of prepared arguments.

Default value: array()

$request

(WP_REST_Request) (Optional) Request to prepare items for.

Default value: null

Return

(array) Array of query arguments.

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php

protected function prepare_items_query( $prepared_args = array(), $request = null ) {
		$query_args = parent::prepare_items_query( $prepared_args, $request );

		if ( empty( $query_args['post_status'] ) ) {
			$query_args['post_status'] = 'inherit';
		}

		$media_types = $this->get_media_types();

		if ( ! empty( $request['media_type'] ) && isset( $media_types[ $request['media_type'] ] ) ) {
			$query_args['post_mime_type'] = $media_types[ $request['media_type'] ];
		}

		if ( ! empty( $request['mime_type'] ) ) {
			$parts = explode( '/', $request['mime_type'] );
			if ( isset( $media_types[ $parts[0] ] ) && in_array( $request['mime_type'], $media_types[ $parts[0] ], true ) ) {
				$query_args['post_mime_type'] = $request['mime_type'];
			}
		}

		// Filter query clauses to include filenames.
		if ( isset( $query_args['s'] ) ) {
			add_filter( 'posts_clauses', '_filter_query_attachment_filenames' );
		}

		return $query_args;
	}

Changelog

Version Description
4.7.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_attachments_controller/prepare_items_query