使用 Gutenberg getEntityRecords 获取 woocommerce 产品类别
Get woocommerce product category using Gutenberg getEntityRecords
是否可以使用 Gutenberg getEntityRecords()
获取所有产品类别?
我找到了获取 post 类别的代码如下
var query = {per_page: 100}
categoriesList = getEntityRecords( 'taxonomy', 'category', query );
我可以修改上面的代码来获取所有 woocommerce 产品类别吗?
我也搜索过同样的东西。但最后我决定使用 apiFetch 来完成这个任务(遵循 woocommerce-gutenberg-products-block 插件)。
示例用例:
const apiFetch = wp.apiFetch;
const { addQueryArgs } = wp.url;
const productCategories = (queryArgs) => {
return apiFetch({
path: addQueryArgs(`wc/store/products/categories`, {
per_page: 0,
...queryArgs,
}),
});
};
productCategories().then((categories) => {
console.log(categories);
});
您实际上已经非常接近 getEntityRecords
开始工作了。唯一的问题是产品类别与 post 类别不同。
这是一个使用 useSelect
钩子的完整示例:
import { useSelect } from "@wordpress/data";
const { productCategories, isSearching } = useSelect((select) => {
const { getEntityRecords, isResolving } = select("core");
const query = { per_page: 100 };
return {
productCategories: getEntityRecords("taxonomy", "product_cat", query),
isSearching: isResolving("getEntityRecords", [
"taxonomy",
"product_cat",
query,
]),
};
});
是否可以使用 Gutenberg getEntityRecords()
获取所有产品类别?
我找到了获取 post 类别的代码如下
var query = {per_page: 100}
categoriesList = getEntityRecords( 'taxonomy', 'category', query );
我可以修改上面的代码来获取所有 woocommerce 产品类别吗?
我也搜索过同样的东西。但最后我决定使用 apiFetch 来完成这个任务(遵循 woocommerce-gutenberg-products-block 插件)。
示例用例:
const apiFetch = wp.apiFetch;
const { addQueryArgs } = wp.url;
const productCategories = (queryArgs) => {
return apiFetch({
path: addQueryArgs(`wc/store/products/categories`, {
per_page: 0,
...queryArgs,
}),
});
};
productCategories().then((categories) => {
console.log(categories);
});
您实际上已经非常接近 getEntityRecords
开始工作了。唯一的问题是产品类别与 post 类别不同。
这是一个使用 useSelect
钩子的完整示例:
import { useSelect } from "@wordpress/data";
const { productCategories, isSearching } = useSelect((select) => {
const { getEntityRecords, isResolving } = select("core");
const query = { per_page: 100 };
return {
productCategories: getEntityRecords("taxonomy", "product_cat", query),
isSearching: isResolving("getEntityRecords", [
"taxonomy",
"product_cat",
query,
]),
};
});