Как в Woocommerce использовать устаревший API вместо последней версии?

Как в 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 использует сам API wordpress)

Обновление: в отличие от обычного, здесь нам нужно использовать API с точки зрения экземпляра wordpress - мы хотели бы расширить некоторые методы woocomerce, расположенные в API. Поэтому мы не хотим использовать API, а хотим предоставлять расширенный.


person Cedric    schedule 17.10.2017    source источник


Ответы (2)


В зависимости от того, какую библиотеку вы используете ... используя оболочку PHP, вы устанавливаете API version в параметрах конфигурации при инициализации клиента REST API:

$woocommerce = new Client(
  'http://example.com', 
  'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 
  'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  [
    'wp_api' => true,
    'version' => 'wc/v1',   <====== SET YOUR WC REST API VERSION HERE
  ]);
person CJohns    schedule 17.10.2017
comment
Спасибо за комментарий. Похоже, вы обращаетесь к API с точки зрения клиента. Это правильно? Здесь нам нужно выбрать версию API с точки зрения поставщика API (для расширения api плагина woocommerce) - информация о структуре папок должна была указать это. Смотрите обновление, которое проясняет ситуацию. - person Cedric; 18.10.2017

Зарегистрируйте автозагрузчик, function.spl-autoload-register.php

person Cedric    schedule 14.12.2017