【问题标题】:Woocommerce products not in local database but from live APIWoocommerce 产品不在本地数据库中,而是来自实时 API
【发布时间】:2017-02-20 21:39:13
【问题描述】:

是否可以在本地数据库中没有 Woocommerce 产品但从 API 加载它们?

我的供应商只有一个 API,我无法下载或导入数据库,每个产品/产品列表/类别等都必须从 API 请求。 当然我可以做一些缓存,但问题是:

Woocommerce 能否处理不在本地数据库中但来自实时 API 的产品

== 编辑 == 我必须为每 Gb 支付这个 API。所以我无法获取所有数据,这将花费每月 1000 美元。速度不是问题,有数百家商店连接到这个实时 API,而且这些商店工作正常。我同意,本地数据库中的所有产品都会更好,但是....

【问题讨论】:

    标签: wordpress woocommerce woocommerce-rest-api


    【解决方案1】:

    没有像您正在寻找的默认功能。 Woocommerce 的开发人员不可能预测每一个可能的 API 连接。这种场景的实现将是不平凡的。您必须连接到 Woocommerce 的许多部分才能使其正常工作。它可以完成(代码库中都有钩子),但这将是一项艰巨的任务。但是,在您决定继续使用它之前,请了解这样做会使您的网站速度慢得无法忍受。 Woocommerce 开始时并不是很快,但是为每个页面视图进行实时 API 调用(可能是多次调用)对于您的访问者来说将是一个糟糕的用户体验。

    相反,编写一个使用 wp-cron 调用 API 并定期填充 Woocommerce 表作为后台进程的插件。这应该允许您将来自供应商的所有信息缓存在本地(如果它们曾经宕机怎么办?)并且速度会大大提高。此外,您无需在 Woocommerce 中进行任何更改。

    【讨论】:

      【解决方案2】:

      正如 BA_Webimax 回复的那样,这是真的,woocommerce 中不存在从 API/实时数据库中获取产品的默认功能。

      我已经实现了功能,其中产品、图像、价格所有内容都从不同的 API 流出,并且我实现了从 API 在线获取所有数据并从 API 显示产品商店页面和单个产品页面运行时的功能。

      但是当用户当时将产品添加到购物车中时,将带有图像/详细信息/价格的单个产品作为 woocommerce 产品添加到 woocommerce 数据库中。因此,将产品添加到 woocommerce 后,您可以在结帐、折扣、运输期间使用 woocommerce 的所有默认功能,优惠券,付款和下订单,由 woocommerce 自己管理。

      【讨论】:

      • 谢谢 Ash,你能再解释一下吗?你有示例代码吗?
      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 2016-08-26
      • 1970-01-01
      • 2016-03-20
      • 2017-12-31
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多