RoutesController::get_all_routes()publicWC 1.0

Get a route path without instantiating the corresponding RoutesController object.

Method of the class: RoutesController{}

No Hooks.


String[]. List of route paths.


$RoutesController = new RoutesController();
$RoutesController->get_all_routes( $version, $controller );
API Version being requested.
Default: 'v1'
Whether to return controller name. If false, returns empty array. Note: When $controller param is true, the output should not be used directly in front-end code, to prevent class names from leaking. It's not a security issue necessarily, but it's not a good practice. When $controller param is false, it currently returns and empty array. But it can be modified in future to return include more details about the route info that can be used in frontend.
Default: false

RoutesController::get_all_routes() code WC 9.0.1

public function get_all_routes( $version = 'v1', $controller = false ) {
	$routes = array();

	foreach ( $this->routes[ $version ] as $key => $route_class ) {

		if ( ! method_exists( $route_class, 'get_path_regex' ) ) {
			throw new \Exception( esc_html( "{$route_class} route does not have a get_path_regex method" ) );

		$route_path = '/' . trailingslashit( self::$api_namespace ) . $version . $route_class::get_path_regex();

		$routes[ $route_path ] = $controller ? $route_class : array();

	return $routes;