You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce区块开发:如何查找useSelect的select()全部可用作用域?

WooCommerce区块开发:获取可用的select作用域

你提到的select()的参数,本质是WooCommerce在Gutenberg数据层注册的数据存储(store)命名空间,也就是你说的“作用域”。以下是几种直接获取这些命名空间的实用方法:

1. 查阅WooCommerce源码的存储注册逻辑

WooCommerce所有数据存储都是通过registerStore()方法注册的,你可以在源码里搜索这个方法定位所有可用命名空间:

  • 后台管理相关的存储(比如产品、订单)集中在woocommerce/packages/js/admin/src目录下,比如你用到的wc/admin/products就是在这里注册的
  • 前端商店相关的存储(比如购物车、支付)在woocommerce/packages/js/store/src目录下,注意你提到的支付方法存储正确命名空间是wc/store/payments(修正你输入的拼写错误)

每个存储的注册代码类似这样:

registerStore( 'wc/admin/products', {
    reducer: reducer,
    selectors: selectors,
    // 其他配置
} );

2. 用浏览器控制台查看已注册的存储

打开加载了WooCommerce区块的页面(比如后台产品编辑页、前端商店页),打开浏览器开发者工具的控制台,执行以下命令:

wp.data.stores

执行后会返回所有已注册的数据存储对象,对象的键就是你需要的作用域名称,比如wc/admin/orders、wc/store/cart、wc/store/payments等。

3. 查看源码中的selectors定义文件

每个存储下的可用方法(比如getProducts()、getActivePaymentMethods())都在对应存储的selectors.js文件里,你可以直接查看这些文件了解该作用域下的所有可用方法:

  • 比如wc/admin/products的selectors在woocommerce/packages/js/admin/src/products/selectors.js
  • wc/store/payments的selectors在woocommerce/packages/js/store/src/payments/selectors.js

这些文件里会清晰列出每个方法的参数、返回值和用途说明。


内容的提问来源于stack exchange,提问作者jst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:12:16