• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Помогите доработать доставку

Image CMS

birkinmax

Форумчанин
#1
В общем нужно в Бесплатной доставке прописать если в корзине меньше 3000 рублей то доставка стоит 500 р, а если больше то бесплатно.
Сейчас я использую два метода. Местная и бесплатная. Проблема в том что нужно избавиться от выпадающего списка и возможности пользователям самим выбирать доставку.
 

Вложения

Zaknafain

Опытный
Местный
#2
в стандартных настройках же вроде было скрыть все способы доставки если доступна бесплатная... и настроить бесплатную на определенные условия.
 

birkinmax

Форумчанин
#3
в стандартных настройках же вроде было скрыть все способы доставки если доступна бесплатная... и настроить бесплатную на определенные условия.
Дай я тебя расцелую :D! В общем в настройках у меня этого не было возможно вукомерс старый, НО благодаря твоей подсказке, я нашел сниппет который это делает. Я уже месяц мучался с этою бедой :D, а ответ был всегда на глазах. Спасибище дружище!
 

Zaknafain

Опытный
Местный
#4
Дай я тебя расцелую :D! В общем в настройках у меня этого не было возможно вукомерс старый, НО благодаря твоей подсказке, я нашел сниппет который это делает. Я уже месяц мучался с этою бедой :D, а ответ был всегда на глазах. Спасибище дружище!
рад помочь :)
 

birkinmax

Форумчанин
#5
Рано обрадовался. Пишет мол для вашей страны нет методов оплаты. Вставлял вот этот снипет
Убираю верхнюю строчку из снипета и все работает только список появляется.
Что не так делаю?
Код:
// Hide ALL shipping options when free shipping is available
add_filter( 'woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available' , 10, 1 );
/**
* Hide ALL Shipping option when free shipping is available
*
* @param array $available_methods
*/
function hide_all_shipping_when_free_is_available( $available_methods ) {
      if( isset( $available_methods['free_shipping'] ) ) :
    
        // Get Free Shipping array into a new array
        $freeshipping = array();
        $freeshipping = $available_methods['free_shipping'];
        // Empty the $available_methods array
        unset( $available_methods );
        // Add Free Shipping back into $avaialble_methods
        $available_methods = array();
        $available_methods[] = $freeshipping;
    endif;
    return $available_methods;
}
 

birkinmax

Форумчанин
#6
Разобрался. Если так делать то наложеным платежем невозможно расплачиваться. Но опять начал ругать неверный способ доставки. Черт ногу сломит
 
Последнее редактирование:

Zaknafain

Опытный
Местный
#7
а что если попробовать в настройках в допустимых странах поставить определенные, и выбрать соответствующую, а далее в методах доставки, там где доступность, так же поставить выбранные или определенные? Конечно если так уже не сделано...
 

birkinmax

Форумчанин
#8
а что если попробовать в настройках в допустимых странах поставить определенные, и выбрать соответствующую, а далее в методах доставки, там где доступность, так же поставить выбранные или определенные? Конечно если так уже не сделано...
Сделано ... все поперепробовал не знаю в чем дело
 
Сверху Снизу