• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Скрыть методы оплаты

qwertyguru

Мудрец
Регистрация
22 Фев 2017
Сообщения
466
Реакции
450
Добрый день, уважаемые коллеги и специалисты.
Задача следующая: в магазине стоимость доставки по городу 350 рублей, но при заказе от 10000 рублей - она бесплатная. С помощью стандартных настроек удалось добиться вывода бесплатной доставки при заказе на нужную сумму, но проблема в том, что платный вариант доставки продолжает отображаться.

WooCommerce Версия 3.5.1
 
function alter_shipping_methods($available_gateways){
global $woocommerce;
$chosen_titles = array();
$available_methods = $woocommerce->shipping->get_packages();
$chosen_rates = ( isset( $woocommerce->session ) ) ? $woocommerce->session->get( 'chosen_shipping_methods' ) : array();
foreach ($available_methods as $method)
foreach ($chosen_rates as $chosen) {
if( isset( $method['rates'][$chosen] ) ) $chosen_titles[] = $method['rates'][ $chosen ]->label;
}
if( in_array( 'Самовывоз', $chosen_titles ) ) {
unset($available_gateways['paypal']);
}
return $available_gateways;
}
add_action('woocommerce_available_payment_gateways', 'alter_shipping_methods');
В строке if( in_array( 'Самовывоз', $chosen_titles ) ) { слово Самовывоз это фактическое название доставки оно может быть и доставка почтой и доставка Курьером как угодно, все завесит как вы назвали свою доставку
в строке unset($available_gateways['paypal']); вместо paypal указываем ID шлюза название способа платы который модно посмотреть в настройке оплаты

Чтобы повторить данную процедуру но с другими способом доставки и оплаты то просто скопируй код и измените название функции alter_shipping_methods например наalter_shipping_methods1 в начале и в конце кода
 
Назад
Сверху