В WooCommerce у меня есть конкретный продукт, который не может быть оплачен онлайн по юридическим причинам, хотя его можно заказать через ХПК.Условное скрытие доступных платежных шлюзов
Я написал пользовательскую функцию, чтобы скрыть форму оплаты (платежи кредитной карты Inspire Commerce), когда это определенный продукт в корзине.
Когда я эхо из $available_gateways
я вижу два варианта в массиве «треск» и «вдохновляют», - но когда я прячу Inspire
с моим кодом, оба шлюзы уходят и я получаю сообщение об ошибке:
Извините, кажется, что нет доступных способов оплаты для вашего . Пожалуйста, свяжитесь с нами, если вам нужна помощь или вы хотите сделать альтернативные мероприятия .
Любые мысли о том, почему я не могу просто иметь ХПК?
Вот мой код функции:
function dfg_hide_payment_form($available_gateways) {
if ($_customer['dfg-pay-later-enabled'] == 1) {
if(is_checkout()) {
global $woocommerce, $_customer;
$packages = $_customer['dfg-package-ids'];
foreach ($packages as $package) {
if (gs_woo_in_cart($package)) {
unset($available_gateways['inspire']);
}
}
}
} else {
unset($available_gateways['cod']);
}
}
add_filter('woocommerce_available_payment_gateways', 'dfg_hide_payment_form', 1);
Благодаря
Это в основном то же, что и мой код, который находится в functions.php, и после его запуска я получаю сообщение об ошибке выше. Вы читали? – poptartgun
Мой код отлично работает, за исключением вызова unset(), который отключает все. – poptartgun
@poptartgun Извините, я не могу прочитать вопросы ... Я слепой! – LoicTheAztec