Измените выбранный по умолчанию платежный шлюз в Woocommerce

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

Вот снимок экрана с платежными шлюзами на моей странице оформления заказа:

Измените выбранный по умолчанию платежный шлюз в Woocommerce

Я хотел бы изменить это и автоматически выбрать способ оплаты с полосой пропускания.

Как мне это сделать?. Любая помощь приветствуется.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
9
0
21 049
3

Ответы 3

Обновлено

Вы можете попробовать добавить следующий код, чтобы изменить платежный шлюз по умолчанию на странице оформления заказа. Вам нужно будет определить желаемый идентификатор платежного шлюза по умолчанию в этом коде:

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 шлюза», как на этом снимке экрана:

Я сделал это по твоей инструкции. Но все же, когда я обновляю страницу оформления заказа, по умолчанию выбирается шлюз для банковских переводов. Я хочу выбрать кредитную карту по умолчанию.

Mahmudul Hasan 09.05.2018 17:48

Вы можете просто изменить порядок платежного шлюза в соответствии с вашими потребностями (в вашем случае кредитная карта (Stripe), а затем прямой банковский перевод), чтобы для каждого нового сеанса всегда выбирался верхний.

WooCommerce автоматически сохранит текущий выбранный способ оплаты (например, прямой банковский перевод) в текущем сеансе, и при перезагрузке страницы будет выбран этот метод оплаты, а не метод по умолчанию. Вы можете протестировать его в приватном окне браузера.

Замечательный комментарий! Лучшие решения - самые простые

Wolfgang Leon 30.11.2018 16:14

Большое спасибо! :) Рад помочь.

Carl Ortiz 30.11.2018 17:58

Хорошая находка, сеансы cookie иногда могут быть очень неприятными. Вы думаете, что изменения вашего кода не работают, хотя все потому, что они условно зависят от установленных параметров cookie. Иногда может быть неприятно, лол. Еще раз спасибо.

Jeromy Adofo 12.10.2019 09:15

он может быть выше, но выбран ли переключатель по умолчанию?

landed 01.04.2020 21:28

Да, переключатель по умолчанию будет установлен на самый высокий активный шлюз.

Другие вопросы по теме