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

Registers a route to the server.


Parameters

$route_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: false


Top ↑

Source

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

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

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

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

	$route_args['namespace'] = $route_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
Version Description
4.4.0 Introduced.

Top ↑

User Contributed Notes

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