Описание wc_payment_gateways_initialized
— Action
Хук wc_payment_gateways_initialized позволяет разработчикам модифицировать и добавлять платежные шлюзы в WooCommerce. Он срабатывает после инициализации всех доступных платежных шлюзов и позволяет настраивать их свойства или добавлять новые
Примеры использования
Пример добавления нового платежного шлюза:
add_action('wc_payment_gateways_initialized', function() {
add_filter('woocommerce_payment_gateways', function($methods) {
$methods[] = 'WC_Gateway_Custom';
return $methods;
});
});
В этом примере мы добавляем новый платежный шлюз ‘WC_Gateway_Custom’
Пример изменения настроек существующего платежного шлюза:
add_action('wc_payment_gateways_initialized', function() {
add_filter('woocommerce_payment_gateways', function($methods) {
foreach ($methods as $method) {
if ($method instanceof WC_Gateway_BACS) {
$method->enabled = 'no';
}
}
return $methods;
});
});
Здесь мы отключаем шлюз BACS, изменяя его свойство ‘enabled’
Пример изменения названия платежного шлюза:
add_action('wc_payment_gateways_initialized', function() {
add_filter('woocommerce_payment_gateways', function($methods) {
foreach ($methods as $method) {
if ($method->id == 'paypal') {
$method->title = 'PayPal (Обновлено)';
}
}
return $methods;
});
});
Мы изменяем название платежного шлюза PayPal, добавляя ‘(Обновлено)’ к его названию
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо добавить или изменить платежные шлюзы в WooCommerce
– Производительность
Поскольку хук используется для изменения массива шлюзов, он не должен значительно влиять на производительность
– Предупреждения
Убедитесь, что вы не нарушаете логику работы существующих шлюзов, чтобы избежать возможных ошибок
Альтернативы
Тип: filter
Этот хук позволяет изменять массив доступных платежных шлюзов перед его использованием в WooCommerce
Используйте его, если нужно более тонкое управление платежными шлюзами или их настройками