かなりニッチな話だが、表題のとおり WordPress のマルチサイトでテーマディレクトリの名称を数字にすると、WP REST API の themes のレスポンスが空になる不具合に直面した。
ちなみにマルチサイトではない場合は問題はなかった。

数字というのは、プログラムで数値として認識されるもので「01」は文字列だが「10」は数値として認識されるため、このような数字は予約語には入っていないがテーマディレクトリ名では使用しないほうが賢明である。

予約語について

ちゃんと調べたことがなかったので、調べてみた。
以下、公式にあった予約語の記事(現在は削除されている)。

以下の予約語を避けることが非常に重要です。特にタームを $_GET や $_POST 配列を使って引き渡す場合は注意してください。もし重複すると、WordPress は何のヒントも説明も無しに 404 エラーを返します。

https://web.archive.org/web/20230220040101/http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy
  • attachment
  • attachment_id
  • author
  • author_name
  • calendar
  • cat
  • category
  • category__and
  • category__in
  • category__not_in
  • category_name
  • comments_per_page
  • comments_popup
  • customize_messenger_channel
  • customized
  • cpage
  • day
  • debug
  • error
  • exact
  • feed
  • fields
  • hour
  • link_category
  • m
  • minute
  • monthnum
  • more
  • name
  • nav_menu
  • nonce
  • nopaging
  • offset
  • order
  • orderby
  • p
  • page
  • page_id
  • paged
  • pagename
  • pb
  • perm
  • post
  • post__in
  • post__not_in
  • post_format
  • post_mime_type
  • post_status
  • post_tag
  • post_type
  • posts
  • posts_per_archive_page
  • posts_per_page
  • preview
  • robots
  • s
  • search
  • second
  • sentence
  • showposts
  • static
  • subpost
  • subpost_id
  • tag
  • tag__and
  • tag__in
  • tag__not_in
  • tag_id
  • tag_slug__and
  • tag_slug__in
  • taxonomy
  • tb
  • term
  • theme
  • type
  • w
  • withcomments
  • withoutcomments
  • year

ただ現在は古くなっている可能性があるため、以下を参照したほうがいいかもしれない。
厳密にはスラッグとタームのそれぞれに予約語があるようだ。

https://manuon.com/wordpress-reserved-terms/