WP_REST_Menu_Items_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 them for WP_Query.


Parameters

$prepared_args

(Optional) Prepared WP_Query arguments.

Default value: array()

$request

(Optional) Full details about the request.

Default value: null


Return

(array) Items query arguments.


Source

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

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

		// Map to proper WP_Query orderby param.
		if ( isset( $query_args['orderby'], $request['orderby'] ) ) {
			$orderby_mappings = array(
				'id'            => 'ID',
				'include'       => 'post__in',
				'slug'          => 'post_name',
				'include_slugs' => 'post_name__in',
				'menu_order'    => 'menu_order',
			);

			if ( isset( $orderby_mappings[ $request['orderby'] ] ) ) {
				$query_args['orderby'] = $orderby_mappings[ $request['orderby'] ];
			}
		}

		$query_args['update_menu_item_cache'] = true;

		return $query_args;
	}


Changelog

Changelog
Version Description
5.9.0 Introduced.