Экспериментальный Dual API для WooCommerce теперь опубликован как плагин

В WooCommerce 10.9 был представлен экспериментальный механизм WooCommerce Dual API — архитектура, ориентированная на код, которая генерирует GraphQL-эндпоинты на основе PHP-классов. В версии WooCommerce 11.2 разработчики удалят этот экспериментальный механизм из ядра WooCommerce, выпустив его в виде отдельного плагина.

Вынос Dual API в отдельный плагин обеспечивает большую гибкость разработки, поскольку в таком случае девелоперы могут выпускать обновления независимо от конкретных релизов ядра WooCommerce. Поскольку эта функция была доступна только при включенном специальном флаге, данные изменения затронут лишь тех разработчиков, которые активировали и расширяли этот функционал.

Удаление экспериментального API

Встроенный экспериментальный API для товаров и купонов, доступный в версиях WooCommerce с 10.9 по 11.1, будет удален в версии 11.2. Если вы использовали эти экспериментальные конечные точки, вам необходимо отказаться от них или реализовать аналогичный API в собственном расширении. Плагин WooCommerce Dual API не восстанавливает эти конечные точки.

Механизм Dual API по-прежнему полезен для разработчиков расширений WooCommerce, желающих создать собственные двойные API. Если это ваш случай, то вот что изменится:

  • Функциональный флаг, активировавший этот механизм, больше не используется. Теперь для работы механизма необходимо установить и активировать плагин WooCommerce Dual API. Плагин требует наличия WooCommerce версии 11.2 (или новее) и PHP версии 8.1 (или новее). Если ваше расширение зависит от этого механизма, укажите обе зависимости в заголовке плагина: Requires Plugins: woocommerce, woocommerce-dual-api.
  • Скрипт для создания API теперь входит в состав плагина WooCommerce Dual API. Чтобы воспользоваться им, установите плагин или клонируйте его репозиторий локально.
  • Документация теперь находится в репозитории плагина Dual API (также доступна на GitHub Pages).
  • Плагин WooCommerce Dual API должен быть установлен и активирован на том же сайте, где имеется ваше расширение. Он обеспечивает работу механизма, а ваше расширение регистрирует соответствующую конечную точку GraphQL. Ниже приведен фрагмент кода, демонстрирующий, как это сделать (взят из примера плагина WooCommerce Simple Events):
use AutomatticWooCommerceApiInfrastructureMain as DualApiMain;

add_action(
	'plugins_loaded',
	static function () {
		if ( method_exists( DualApiMain::class, 'register_graphql_endpoint' ) ) {
			DualApiMain::register_graphql_endpoint(
				__DIR__,
				'wc',
				'/graphql/simple-events'
			);
		}
	}
);

Dual API остается экспериментальной функцией

WooCommerce Dual API по-прежнему имеет статус экспериментальной функции. Любые элементы в пространстве имен Automattic\WooCommerce\Api могут быть изменены (с нарушением обратной совместимости) или удалены в любом из будущих релизов. Не используйте их в расширениях, предназначенных для рабочей среды.

Полезен ли вам этот механизм Dual API? Хотели бы вы видеть его в составе WooCommerce в качестве стабильного компонента? Есть ли у вас предложения по изменениям? Поделитесь своим мнением в специальном обсуждении на GitHub.

Дмитрий/ автор статьи
CCO, Senior SEM/PPC Specialist, WordPress-энтузиаст, переводчик с английского и немецкого. Серый кардинал русскоязычного WP-комьюнити.
Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.