From 0403a8d14f1d37562ac078b91b1beaad5623acde Mon Sep 17 00:00:00 2001 From: rivanuff <16398970+rivanuff@users.noreply.github.com> Date: Wed, 11 Nov 2026 13:40:24 +0100 Subject: [PATCH] fix: accept non-ascii slugs in rest routes --- src/Base/RestAPI/RestAPIServiceProvider.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Base/RestAPI/RestAPIServiceProvider.php b/src/Base/RestAPI/RestAPIServiceProvider.php index 4e10d25..9503086 100644 --- a/src/Base/RestAPI/RestAPIServiceProvider.php +++ b/src/Base/RestAPI/RestAPIServiceProvider.php @@ -83,7 +83,8 @@ public function registerRoutes(): void 'permission_callback' => '__return_true', ]); - register_rest_route($this->namespace, 'items/(?P[\w-]+)', [ + // Not [\w-]+: slugs with non-ASCII characters (e.g. "m²") are stored percent-encoded. + register_rest_route($this->namespace, 'items/(?P[^/]+)', [ 'methods' => WP_REST_Server::READABLE, 'callback' => [new ItemController($this->plugin), 'getItemBySlug'], 'permission_callback' => '__return_true', @@ -95,7 +96,7 @@ public function registerRoutes(): void 'permission_callback' => '__return_true', ]); - register_rest_route($this->namespace, 'themes/(?P[\w-]+)', [ + register_rest_route($this->namespace, 'themes/(?P[^/]+)', [ 'methods' => WP_REST_Server::READABLE, 'callback' => [new ThemeController($this->plugin), 'getThemeBySlug'], 'permission_callback' => '__return_true',