WooCommerce - добавление стоимости доставки для бесплатного пользовательского плана

Я использую WooCommerce и бесплатный плагин Paid Memberships Pro.

На веб-сайте у нас есть 2 плана (бесплатный и платный):

  • Бесплатные пользователи могут покупать 1 товар каждый месяц,
  • Платные пользователи могут покупать 4 предмета каждый месяц.

Теперь я не знаю, как просто рассчитать доставку на странице оформления заказа с помощью кода вроде:

if (pmpro_hasMembershipLevel('2')) { // Paid plan

    //free shipping (0$)

} else {

    //add shipping 4$ to checkout

}

Нет класса доставки, отсутствие зоны региона не влияет на цену доставки.

Я пытался настроить параметры доставки, но не могу от них избавиться.

Как я могу этого добиться?

Спасибо.


person Amino    schedule 31.08.2016    source источник


Ответы (1)


Начиная с WooCommerce 2.6+, доставка была модернизирована, и ее довольно сложно настроить, как вы хотите, без плагина ... Вместо этого вы добавляете плату в зависимости от вашего уровня пользователя и других условий, если это необходимо.

Вот мой код:

function add_shipping_fee( ) {

    // Set here your shipping fee amount
    $fee = 4;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( pmpro_hasMembershipLevel('2') == false)
        WC()->cart->add_fee( __('Shipping Fee:', 'your_theme_slug'), $fee, false );
}
add_action( 'woocommerce_cart_calculate_fees','add_shipping_fee' );

Это естественно входит в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.

Этот код протестирован и работает.


Использованная литература:

person LoicTheAztec    schedule 31.08.2016