0

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

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

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

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

4

2 回答 2

0

正如 BA_Webimax 回答的那样,woocommerce 中没有默认功能来从 API / 实时数据库中获取产品,这是真的。

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

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

于 2017-01-26T15:21:19.747 回答
0

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

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

于 2017-01-26T14:31:59.370 回答