wp-graphql/wp-graphql-woocommerce


README

WPGraphQL WooCommerce (WooGraphQL) Logo

WPGraphQL WooCommerce (WooGraphQL)

网站文档模式游乐场关于 • 加入Slack

Automated-Testing Coding-Standards Coverage Status Financial Contributors on Open Collective

安装

手动安装

  1. 安装并激活WPGraphQLWooCommerce
  2. 从最稳定的发布版的资产部分下载wp-graphql-woocommerce.zip文件,并在您的WordPress目录中激活插件。
  3. 将您的GraphQL客户端端点设置为您的站点的GraphQL端点。通常,这是your-store.domain/graphql

使用Composer安装

此方法适用于具有独特安装的用户,例如WP Bedrock或SpinupWP。

  1. 安装WordPressWooCommerce
  2. 运行composer require wp-graphql/wp-graphql wp-graphql/wp-graphql-woocommerce来安装WPGraphQL和WooGraphQL。
  3. 将您的GraphQL客户端端点设置为您的站点的GraphQL端点。对于典型的Bedrock或SpinupWP设置,默认值为your-store.domain/wp/graphql

可选插件

  • 安装并激活WPGraphQL-JWT-Authentication以引入返回JSON Web Token的login突变。
  • 安装并激活WPGraphQL Headless Login以引入具有OAuth2客户端支持的login突变。不应与WPGraphQL-JWT-Authentication一起使用
  • 安装并激活WPGraphQL-CORS以通过HTTP CORS提供增强安全性并利用一些高级WPGraphQL功能。

您可以使用此扩展做什么?

  • 使用详细的过滤选项查询商店的产品和变体。
  • 查询客户、订单、优惠券和退款。注意:操作具有用户限制。
  • 使用JWT管理客户会话,并使用购物车/客户查询和突变。注意:操作具有用户限制。
  • 手动创建订单,使用结账突变自动创建订单,或将客户的会话委托给主题中的WooCommerce结账页面以提供全面的支付网关支持。

(*) 这些操作具有用户限制。有关如何正确使用它们的说明,请参阅以下资源

(#)建议的检出方法,充分利用WooCommerce的支付网关进行支付流程和其他检出相关扩展,是将会话传递回WordPress安装,并让WooCommerce接管传统检出页面。以下将详细介绍这种方法。

或者,您可以创建自定义的检出表单并在外部处理支付。这里也有一些相关资源。

为什么WooCommerce CPT GraphQL类型不支持WPGraphQL对大多数WordPress CPTs公开的所有功能?

WooCommerce的自定义帖子类型(CPTs)和大多数数据对象都由数据存储系统管理。该系统允许灵活的数据对象定义。虽然如产品订单优惠券这样的对象默认定义为WordPress CPTs,但它们不必这样做。

这种灵活性还允许WooCommerce在单独的表中存储这些CPTs的元数据,并且数据不必驻留在同一数据库中。

数据存储系统和其对象管理器是WooGraphQL的主要接触点。与使用WP_Post对象进行数据来源和使用WPGraphQL\Model对象进行建模的标准CPTs不同,WooGraphQL使用对象管理器进行数据源。每种对象类型都有独特的模型,具有不同的权限和限制。

这种设置导致方案中存在一些差异,其中WooGraphQL的支持可能不足。我们对此造成的任何不便表示歉意。我和整个WPGraphQL团队正在积极努力使WooGraphQL与所有WPGraphQLWPGraphQL ACF功能保持一致。

感谢您的耐心😄 @kidunot89

未来功能

  • 产品CRUD突变。
  • 以及一些其他我相信的东西 🤔

对于WooCommerce扩展支持

WooGraphQL Pro是WPGraphQL WooCommerce的扩展,提供了与各种流行WooCommerce扩展的兼容性。这种兼容性使您能够在GraphQL API的上下文中利用这些扩展,从而能够构建更动态、更强大的无头电子商务应用程序。

以下WooGraphQL Pro支持的WooCommerce扩展

  • WooCommerce订阅
  • WooCommerce产品捆绑
  • WooCommerce产品附加
  • WooCommerce组合产品

安装支持的WooCommerce扩展(可选)

如果您想使用WooGraphQL Pro中的任何支持扩展,请按照以下步骤操作

  1. 从WooCommerce市场购买您想要的扩展。支持的扩展在上文列出。
  2. 从您的WooCommerce账户下载您购买的扩展的.zip文件。
  3. 在您的WordPress管理仪表板中,转到插件 > 添加新插件 > 上传插件,并上传下载的.zip文件。
  4. 上传完成后,点击“激活插件”以激活扩展。

安装和激活WooGraphQL Pro

要安装和激活WooGraphQL Pro,请按照以下步骤操作

  1. 从我们的官方网站购买WooGraphQL Pro。
  2. 购买后,您应该会进入您的账户仪表板。转到许可证页面,生成新许可证并复制以备后用。
  3. 接下来,转到下载页面,并下载WooGraphQL Pro的最新版本。
  4. 转到您的WordPress管理仪表板,转到插件 > 添加新插件 > 上传插件,并上传您下载的woographql-pro.zip文件。
  5. 上传后,点击“激活插件”以激活WooGraphQL Pro。

启用已安装扩展的方案支持

要启用已安装扩展的方案支持,请按照以下步骤操作

  1. 在WordPress管理仪表板上转到WPGraphQL设置页面。
  2. 点击“WooGraphQL”标签。
  3. 在这里,您可以找到WooGraphQL配置选项的列表。向下滚动到WooGraphQL Pro部分,粘贴许可证并勾选您已安装的扩展旁边的复选框以启用它们的模式支持。

注意:在同一个设置标签中可以找到“启用不受支持的商品类型”选项。如果您启用此选项,则任何没有适当GraphQL类型的商品类型将默认为UnsupportedProduct类型,它与SimpleProduct类型相同。使用此类型,客户端可以使用metaData字段获取类型上元数据的string表示形式。这可能对于更简单的商品类型来说是需要的。

现在,WooGraphQL Pro和您选择的扩展已安装,您可以使用WordPress和WooCommerce构建更复杂、功能丰富的电子商务解决方案。

开发工具

游乐场

请随时使用此GraphiQL 游乐场测试扩展。游乐场允许您执行查询和突变,以及查看模式(*)。

(*) 我有时会忘记在发布之间更新游乐场 😅,所以如果您认为是这样,请在此页面的某处找到我并告诉我 🤷‍♂️

create-woonext-app CLI和@woographql

设计用于为个人和团队提供便利,这些个人和团队希望在大项目中利用WooCommerce + WooCommerce扩展,而不必花费太多时间在WooGraphQL的特定方面,如会话管理或结账。该create-woonext-app CLI生成一个预创建的电子商务应用程序,该应用程序在Next.js应用程序中定制,以适应开发者/团队。

npx create-woonext-app <license> [options]

生成的应用程序使用的是针对WooGraphQL Pro的无限制/年度订阅者的独家@woographql包。所以去订阅! 😄。以下是关于create-woonext-app CLI和@woographql包的更多资源。

  • create-woonext-app首页
  • create-woonext-app在NPM:包含更多CLI使用说明的create-woonext-app README。
  • create-woonext-app实时演示:全面展示create-woonext-app的所有当前可能功能。
  • @woographql/next README:一个模板生成器CLI。能够生成多种Next.js页面、Next.js路由处理程序、React组件、React钩子和实用工具。它还配备了为快速创建组件而无需样板代码的React组件和钩子占位符。
  • @woographql/react-hooks README:作为连接到会话、购物车和客户的UI支柱的React钩子库。
  • @woographql/session-utils README:提供用于管理WPGraphQL + WooGraphQL会话令牌的实用工具,如TokenManager,还提供用于轻松定制该TokenManager或完整创建一个自定义TokenManager的接口和类型。捆绑的TokenManager实现使用浏览器存储(Local/Session storage),因此如果您更喜欢像Iron Session这样的东西,这可能就是您的选择。
  • @woographql/codegen README:一个方便的包装器,为GraphQL Codegen提供一些开箱即用的配置,可以通过在项目根目录中创建一个codegen.ts文件来覆盖默认配置。

想支持WooGraphQL的未来发展吗?

关注我们alt textalt text

演示/示例

谁在使用WooGraphQL

贡献者

代码贡献者

此项目存在得益于所有贡献者。[贡献].

财务贡献者

成为财务贡献者,帮助我们维持社区。[贡献]

个人

组织

使用您的组织支持此项目。您的logo将出现在这里,并带有指向您网站的链接。[贡献]