У меня есть два разных платежных шлюза (полоса и банковский перевод) на странице оформления заказа Woocommerce. Но по умолчанию всегда автоматически выбирается "Банковский перевод" (bacs).
Вот снимок экрана с платежными шлюзами на моей странице оформления заказа:
Я хотел бы изменить это и автоматически выбрать способ оплаты с полосой пропускания.
Как мне это сделать?. Любая помощь приветствуется.






Обновлено
Вы можете попробовать добавить следующий код, чтобы изменить платежный шлюз по умолчанию на странице оформления заказа. Вам нужно будет определить желаемый идентификатор платежного шлюза по умолчанию в этом коде:
add_action( 'template_redirect', 'define_default_payment_gateway' );
function define_default_payment_gateway(){
if ( is_checkout() && ! is_wc_endpoint_url() ) {
// HERE define the default payment gateway ID
$default_payment_id = 'stripe';
WC()->session->set( 'chosen_payment_method', $default_payment_id );
}
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Теперь вы всегда будете использовать Stripe по умолчанию:
Чтобы получить необходимый идентификатор платежного шлюза для Полоса, перейдите в Woocommerce> Настройки> Касса и найдите его в Столбец «ID шлюза», как на этом снимке экрана:
Вы можете просто изменить порядок платежного шлюза в соответствии с вашими потребностями (в вашем случае кредитная карта (Stripe), а затем прямой банковский перевод), чтобы для каждого нового сеанса всегда выбирался верхний.
WooCommerce автоматически сохранит текущий выбранный способ оплаты (например, прямой банковский перевод) в текущем сеансе, и при перезагрузке страницы будет выбран этот метод оплаты, а не метод по умолчанию. Вы можете протестировать его в приватном окне браузера.
Замечательный комментарий! Лучшие решения - самые простые
Большое спасибо! :) Рад помочь.
Хорошая находка, сеансы cookie иногда могут быть очень неприятными. Вы думаете, что изменения вашего кода не работают, хотя все потому, что они условно зависят от установленных параметров cookie. Иногда может быть неприятно, лол. Еще раз спасибо.
он может быть выше, но выбран ли переключатель по умолчанию?
Да, переключатель по умолчанию будет установлен на самый высокий активный шлюз.
Я сделал это по твоей инструкции. Но все же, когда я обновляю страницу оформления заказа, по умолчанию выбирается шлюз для банковских переводов. Я хочу выбрать кредитную карту по умолчанию.