Получение базовой цены при бронировании в WooCommerce

#php #wordpress #woocommerce #woocommerce-bookings

#php #wordpress #woocommerce #woocommerce-бронирование

Вопрос:

У меня есть продукт в WooCommerece, у которого есть отображение и базовая цена. Используется следующий код:

 global $woocommerce;

    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) {
        $productID = $cart_item['product_id'];
        break; //Take the first as an example
    } 
    $product = new WC_Product($productID);
    $base_price= $product->get_price();
    $display_price = $product->get_display_price();
  

Моя проблема в том, что базовая и отображаемая цены возвращаются как одно и то же значение, но они поддерживаются по-разному в серверной части.

Обновление: Настройки налога

Я понимаю, что эта проблема может быть связана с настройками налогообложения. Вот мои:

  • Налоги включены
  • Цены указаны с учетом налога
  • Рассчитайте налог на основе адреса магазина
  • Класс налога на доставку, основанный на товарах в корзине
  • Без округления
  • Никаких дополнительных классов налогообложения
  • Отображение цен в магазине без учета налогов
  • Отображение цен в корзине / оформлении заказа без учета налога
  • Нет суффикса
  • Отображение итоговых сумм налогов в детальном виде

Существует также общий стандартный тариф, который равен нулю.

И для продукта:

  • Облагается налогом
  • Налоговый класс является стандартным

Обновить

Проблема связана с тем, что я использую плагин бронирования WooCommerce. Чтобы получить базовую цену бронирования:

глобальный $ woocommerce;

 foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) {
    $productID = $cart_item['product_id'];
    break;//Take the first as an example
} 

$product = new WC_Product($productID);
$admission = $product->wc_booking_cost;
  

Ответ №1:

$product->get_regular_price() возвращает обычную цену.

$product->get_sale_price() возвращает продажную цену, если товар есть в продаже.

$product->get_price() возвращает цену продукта (распродажную или обычную, в зависимости от того, что является текущим).

$product->get_display_price() Возвращает цену с учетом или без учета налога, основанную на настройке ‘woocommerce_tax_display_shop’.

Комментарии:

1. Спасибо Mizda. display_price возвращает отображаемую цену. get_price возвращает то же, что и display_price. regular_price и sale_price возвращают нулевое значение. Очень странное поведение.

2. Установили ли вы настройку отображения налогов в серверной части? Если у вас ее нет, то отображаемая цена и price будут одинаковыми.