Динамически отображаемое сообщение в зависимости от зоны доставки и порога суммы корзины в WooCommerce.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Динамически отображаемое сообщение в зависимости от зоны доставки и порога суммы корзины в WooCommerce.

Сообщение Anonymous »

При отображении специального сообщения на основе зоны доставки клиента в ответе Woocommerce я нашел решение, позволяющее отображать сообщение в корзине на основе зоны доставки.
Я хочу показать сообщение на основе зон доставки и только в том случае, если сумма в корзине меньше определенной суммы, например:
  • Зона доставки 1 и сумма в корзине меньше 29 евро: это должен отображаться Текст 1
    и
  • Зона доставки 2 и сумма корзины меньше 49 евро: должен отображаться Текст 2
Вот что я пытался редактировать PHP-код самостоятельно:

Код: Выделить всё

add_action( 'woocommerce_cart_totals_after_shipping', 'shipping_notice_displayed', 20 );
add_action( 'woocommerce_review_order_after_shipping', 'shipping_notice_displayed', 20 );
function shipping_notice_displayed() {
if ( did_action( 'woocommerce_cart_totals_after_shipping' ) >= 2 ||
did_action( 'woocommerce_review_order_after_shipping' ) >= 2 ) {
return;
}

// Chosen Shipping Method
$chosen_shipping_zone_id = WC()->session->get( 'chosen_shipping_methods' )[0];
$chosen_shipping_zone    = explode(':', $chosen_shipping_method_id)[0];
$cart_subtotal             = WC()->cart->subtotal;

// Settings
$cart_maximum1             = 29;
$cart_maximum2             = 49;

// HERE define the cart maximum
if ( $cart_subtotal < $cart_maximum2 && $chosen_shipping_zone != 'Shipping Zone I' ) {
$cart_maximum = $cart_maximum1;
} elseif ( $cart_subtotal < $cart_maximum2 && $chosen_shipping_method == 'Shipping Zone I' ) {
$cart_maximum = $cart_maximum2;
}

// Display a message
if( isset($cart_maximum) ){
// The message
$message =  sprintf( 'Above 29,00 € cart total save 5 €!' ,
is_cart() ? 'Maximum' : 'Max',
strip_tags( wc_price( $cart_maximum, array('decimals' => 2 ) ) )
);

// Display
echo ' '.$message.'';
}
}
Но возникли ошибки, и мой код не работает. Как я могу отображать разные сообщения о корзине в зависимости от зон доставки и максимальной суммы корзины?

Подробнее здесь: https://stackoverflow.com/questions/784 ... hold-in-wo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»