【问题标题】:Woocommerce get price after calculationWoocommerce 计算后获取价格
【发布时间】:2021-04-23 23:36:44
【问题描述】:

我需要使用其他插件计算后的产品价格。例如,正常价格为 1.50,但自定义价格插件会增加一些费用,因此产品价格为 2.50。

我想要发票上的产品价格,代码如下 ($product_price),但我得到的是 1.50。我想要,2.50。我怎么得到这个?

$productnummer_id = $order->get_item_meta($item_id, '_product_id', true);

    $_product = wc_get_product( $productnummer_id );
    $product_price  = $_product->get_price();
    $old_product_price_META = $rekensom1;

    $line_items[] = array(
        
            'description' => $item_data['name'],
            'units' => $order->get_item_meta($item_id, '_qty', true),
            'amount_per_unit'=>array(
                'value' => $product_price,
                'currency'=> 'EUR'
            ),
            'vat' => $tax,

【问题讨论】:

  • var_dump() 订单并搜索价格偏移或对象。

标签: php woocommerce


【解决方案1】:

如果您使用$_product->get_price();,您会从WC_Product 对象而不是WC_Order_Item_Product 获得价格。

要获取订单商品的价格,在您的情况下,您可以这样做:

$item = new WC_Order_Item_Product( $item_id );

$line_total             = $item->get_total(); // Line total
$quantity               = $item->get_quantity();
$product_price          = $line_total / $quantity; // Total unit price

$line_items[] = array(
    
        'description' => $item_data['name'],
        'units' => $quantity,
        'amount_per_unit'=>array(
            'value' => $product_price,
            'currency'=> 'EUR'
        ),
        'vat' => $tax,

请注意,get_item_meta() 是一个已弃用的函数。

有关更多信息,您可以查看以下完整答案:

【讨论】:

  • 谢谢!目前我确实在遵循当前的方法。将数量除以 line_total,但我遇到了舍入问题,导致数量与订单总额相差 1 或 2 美分。这可能与数字的四舍五入有关,这就是我寻找每件产品价格的原因。
  • 价格四舍五入请看这里:stackoverflow.com/questions/61836970/…
猜你喜欢
  • 2017-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 2016-08-11
  • 2014-05-04
  • 1970-01-01
  • 2014-06-09
相关资源
最近更新 更多