diff --git a/.gitignore b/.gitignore index 5a4e6ecc..720eb26b 100644 --- a/.gitignore +++ b/.gitignore @@ -28,13 +28,11 @@ assets/css/routes/docs/* # cd assets/admin && npm ci && npm run build # cd assets/creator-studio && npm ci && npm run build /assets/admin/node_modules/ -/assets/admin/build/* -!/assets/admin/build/.gitkeep +/assets/admin/build/ assets/admin/.vite-temp/ /assets/creator-studio/node_modules/ -/assets/creator-studio/build/* -!/assets/creator-studio/build/.gitkeep +/assets/creator-studio/build/ # PHP installed dependencies /vendor/* diff --git a/assets/creator-studio/build/.gitkeep b/assets/creator-studio/build/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/assets/creator-studio/src/components/category-select.tsx b/assets/creator-studio/src/components/category-select.tsx index 47690b5c..8cebc69b 100644 --- a/assets/creator-studio/src/components/category-select.tsx +++ b/assets/creator-studio/src/components/category-select.tsx @@ -13,7 +13,7 @@ import { __, sprintf } from '@wordpress/i18n'; import { useAnchoredPanel } from '../hooks/use-anchored-panel'; -export type CategoryOption = { id: number; name: string }; +export type CategoryOption = { id: number; name: string; depth?: number; path?: string }; type Props = { options: CategoryOption[]; @@ -42,7 +42,8 @@ export function CategorySelect({ options, value, onChange }: Props) { if (keyword === '') { return options; } - return options.filter((option) => option.name.toLowerCase().includes(keyword)); + // 同时匹配完整路径:搜上级分类名也能把它的子分类带出来。 + return options.filter((option) => (option.path || option.name).toLowerCase().includes(keyword)); }, [options, query]); // 每次打开都从干净的搜索词开始,避免上次的过滤条件把列表藏起来。 @@ -87,6 +88,8 @@ export function CategorySelect({ options, value, onChange }: Props) {