WP_REST_Server::register_route( string $namespace, string $route, array $route_args, bool $override = false )

Registers a route to the server.


Parameters

$namespace

(string) (Required) Namespace.

$route

(string) (Required) The REST route.

$route_args

(array) (Required) Route arguments.

$override

(bool) (Optional) Whether the route should be overridden if it already exists.

Default value: false


Source

File: wp-includes/rest-api/class-wp-rest-server.php

	public function register_route( $namespace, $route, $route_args, $override = false ) {
		if ( ! isset( $this->namespaces[ $namespace ] ) ) {
			$this->namespaces[ $namespace ] = array();

			$this->register_route( $namespace, '/' . $namespace, array(
				array(
					'methods' => self::READABLE,
					'callback' => array( $this, 'get_namespace_index' ),
					'args' => array(
						'namespace' => array(
							'default' => $namespace,
						),
						'context' => array(
							'default' => 'view',
						),
					),
				),
			) );
		}

		// Associative to avoid double-registration.
		$this->namespaces[ $namespace ][ $route ] = true;
		$route_args['namespace'] = $namespace;

		if ( $override || empty( $this->endpoints[ $route ] ) ) {
			$this->endpoints[ $route ] = $route_args;
		} else {
			$this->endpoints[ $route ] = array_merge( $this->endpoints[ $route ], $route_args );
		}
	}


Changelog

Changelog
Version Description
WP-4.4.0 Introduced.