在 Woocommerce 中,如何使用旧版本 API 而不是最新版本?

In Woocommerce, how to use a legacy API instead of the latest version?

在 Woocommerce 中,如何在另一个插件代码中使用遗留 API 版本?

当前,加载了最新的 API 版本的 Woocommerce,因此在使用 WC_API_Server 时,它使用的是最新版本,而不是旧版本(版本 3 需要):

calling the class LMB_API_Server extends WC_API_Server 

我不能更改 Woocommerce 插件,也不能更改它的版本 - 理想情况下,我应该能够做的就是在我开发的第三方插件中。

在 woocommerce 文件夹中:

includes\
 api\
  *manyPHPfileofcurrentVersion*
  ...
  legacy\
   v1\ 
   v2\ 
   v3\
     *oldPHPfilesOfAPInneded*

注意 :Woocommerce 是 wordpress 的插件 - API 位于该插件内。 (即使最新的 API 使用 wordpress' API 本身)

Update :与往常不同,这里我们需要从 wordpress 实例的角度使用 API - 我们想扩展位于 API。因此,我们不想消费API,而是提供一个扩展的。

取决于您使用的库...using the PHP wrapper 您在初始化 REST API 客户端时在配置参数中设置了 API 版本:

$woocommerce = new Client(
  'http://example.com', 
  'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 
  'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  [
    'wp_api' => true,
    'version' => 'wc/v1',   <====== SET YOUR WC REST API VERSION HERE
  ]);

注册自动加载器,function.spl-autoload-register.php