REST API: Support .
in theme directory names in WP_REST_Global_Styles_Controller
, WP_REST_Templates_Controller
, and WP_REST_Themes_Controller
.
Regex changes from [52376] are reverted to restore the original regex patterns. Why? [52376] used an include characters pattern, which was too limiting. It did not account for localized characters, such as é
, or other valid directory name characters.
The original theme directory regex pattern, i.e. [^.\/]+(?:\/[^.\/]+)?
excluded the period .
character. Removing the .
character resolves the reported issue by allowing matching for themes/theme-dirname-1.0/
or themes/<subdirname>/theme-dirname-1.0/
.
As the pattern used an exclude approach, all characters are valid for matching except for /
. However, not all characters are cross-platform valid for directory names. For example, the characters /:<>*?"|
are not valid on Windows OS. The pattern now excludes those characters.
The theme's directory (or subdirectory) name pattern matching is now used in WP_REST_Global_Styles_Controller
, WP_REST_Templates_Controller
, and WP_REST_Themes_Controller
.
Follow-up to [51003], [52051], [52275], [52376].
Props costdev, hellofromTonya, spacedmonkey, TimothyBlynJacobs, bijayyadav, kafleg.
Fixes #54596.