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

In this article

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

Parameters

$prepared_argsarrayoptional
Array of prepared arguments.

Default:array()

$requestWP_REST_Requestoptional
Request to prepare items for.

Default:null

Return

array Array of query arguments.

Source

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( 'wp_allow_query_attachment_by_filename', '__return_true' );
	}

	return $query_args;
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.