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

Registers a route to the server.


Description Description


Parameters 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


Top ↑

Source 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 );
		}
	}

Top ↑

Changelog Changelog

Changelog
Version Description
4.4.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

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