Описание woocommerce_payment_gateway_supports
— Filter
Хук woocommerce_payment_gateway_supports позволяет изменять список функций, которые поддерживает конкретный платежный шлюз. Он срабатывает при инициализации платежных шлюзов и позволяет разработчикам добавлять или удалять функциональность для своих шлюзов
Примеры использования
Пример добавления поддержки возвратов для конкретного платежного шлюза:
add_filter('woocommerce_payment_gateway_supports', function($supports, $gateway_id) {
if ('my_custom_gateway' === $gateway_id) {
$supports[] = 'refunds';
}
return $supports;
}, 10, 2);
В этом примере мы добавляем поддержку возвратов для шлюза с идентификатором ‘my_custom_gateway’.
Пример удаления поддержки подписок для платежного шлюза:
add_filter('woocommerce_payment_gateway_supports', function($supports, $gateway_id) {
if ('my_subscription_gateway' === $gateway_id) {
$supports = array_diff($supports, ['subscriptions']);
}
return $supports;
}, 10, 2);
Этот пример удаляет поддержку подписок для шлюза ‘my_subscription_gateway’.
Пример добавления поддержки товаров для нескольких шлюзов:
add_filter('woocommerce_payment_gateway_supports', function($supports, $gateway_id) {
$supported_gateways = ['gateway1', 'gateway2'];
if (in_array($gateway_id, $supported_gateways)) {
$supports[] = 'products';
}
return $supports;
}, 10, 2);
Здесь мы добавляем поддержку товаров для нескольких платежных шлюзов.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить функциональность платежных шлюзов в WooCommerce
– Производительность
Хук не должен значительно повлиять на производительность, так как изменения касаются только массива поддерживаемых функций
– Предупреждения
Обязательно проверяйте существующие функции перед их добавлением или удалением, чтобы избежать конфликтов
Альтернативы
Тип: filter
Этот хук позволяет изменять список доступных платежных шлюзов в WooCommerce
Используйте его, если необходимо добавить или удалить сам шлюз из списка доступных