Когда вы устанавливаете WooCommerce, у вас по умолчанию доступны несколько методов оплаты: «Прямой банковский перевод», «Чековые платежи», «Оплата для доставке» и «PayPal».
Понятное дело, что для русскоязычных стран некоторые из них неактуальны.
Также не могу не порекомендовать вам свой видеокурс по WooCommerce 🙃
На тот случай, если PayPal напрягает вас своим нахождением в настройках, вы можете от него избавиться. То же самое касается и остальных трёх методов.
Делается это очень легко – вставкой следующего кода в functions.php
вашей текущей темы или же дочерней темы.
add_filter( 'woocommerce_payment_gateways', 'truemisha_remove_default_gateways' ); function truemisha_remove_default_gateways( $gateways ) { $remove_gateways = array( 'WC_Gateway_BACS', // прямой банковский перевод 'WC_Gateway_Cheque', // чековые платежи 'WC_Gateway_COD', // оплата при доставке 'WC_Gateway_Paypal' // PayPal ); foreach ( $gateways as $key => $value ) { if ( in_array( $value, $remove_gateways ) ) { unset( $gateways[ $key ] ); } } return $gateways; }
unset( 'WC_Gateway_BACS' )
, потому что имеем дело с нумерованным массивом, у которого ключи – цифры.В итоге в моём примере получилось так:
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Михаил, здравствуйте! Помогите советом, как вынести список доставки и оплаты за пределы чека на странице оформления заказа? Корректно ли будет удалить куски кода, отвечающие за вывод этих списков, и добавить их на странице оформления заказа внутри своей разметки?
Добрый день!
Почему всегда все пишут "Михаил", у меня вроде нигде так не указано 🤔 даже домен сайта не mikhail.blog 😁
Вы имеете ввиду что-то типа
WC()->payment_gateways->get_available_payment_gateways()
?Я имея в виду, что по-дефолту способ доставки и оплаты находится внутри чека с ценой. В дизайн-макете предусмотрено, что выбор способа доставки должен быть оформлен как выпадающий список, а выбор возможных способ оплаты как радио-кнопки (примерно как по-дефолту), и всё это должно находиться вне чека в ценой и кнопкой "оформить заказ".
Проблема в том, что я не знаю как корректно, не нарушив работу вынести их за пределы чека. Отключить их вывод в
functions.php
и вывести вручную в нужных местах шаблона будет корректным способом? Или как-то иначе?Ну не забывайте, что страница оплаты это прежде всего – форма. Кроме того, надо ещё сохранить классы элементов, и всё у вас получится.
Спасибо.