Я делаю пользовательский расчет по счету woocommerce.В качестве плагина я использую woocommerce-pdf-invoices, и вычисления не будут сохранены в базе данных.
Я застрял в этой точке: для цен на товары я должен использовать foreach $ order-> get_items ()
Чтобы отфильтровать все продукты по идентификатору налоговой ставки, я должен использовать foreach $ order-> get_items ('tax')
Как я могу: - загрузить всетовары (налог и цены) - отфильтруйте / отсортируйте их по tax_rate_id
Это позволяет мне вычислять item_prices для идентификатора налоговой ставки (поэтому я также должен получить цены на товары)
КогдаЯ использую foreach для налога, а затем foreach для цен, позиции в счете-фактуре удваиваются, а итоговые значения для каждого tax_rate_id одинаковы.
Вот пример моего (неудачного) фрагментакод
if ( sizeof( $order->get_items() ) > 0 ) {
foreach ( $order->get_items() as $item_key => $item_values ):
foreach ( $order->get_items( 'tax' ) as $item_id => $item_tax ) :
$item_id = $item_values->get_id();
$item_name = $item_values->get_name(); // Name of the product
$item_type = $item_values->get_type(); // Type of the order item ("line_item")
$product_id = $item_values->get_product_id(); // the Product id
$product = $item_values->get_product(); // the WC_Product object
$item_data = $item_values->get_data();
$product_name = $item_data['name'];
$product_id = $item_data['product_id'];
$tax_class = $item_data['tax_class'];
$line_subtotal = $item_data['subtotal'];
$line_subtotal_tax = $item_data['subtotal_tax'];
$line_total = $item_data['total'];
$line_total_tax = $item_data['total_tax'];
$item_tax_rate_id = $item_tax['rate_id'];
$item_tax_label = $item_tax['label'];
$product_type = $product->get_type();
$product_sku = $product->get_sku();
$product_price = $product->get_price();
$stock_quantity = $product->get_stock_quantity();
if ( $item_tax_rate_id == 3 ) {
$hoog += $product_price;
}
if ( $item_tax_rate_id == 1 ) {
$laag += $product_price;
}
endforeach;
endforeach;
}
Кстати, если есть более простой способ получить промежуточный итог по идентификатору налоговой ставки, пожалуйста, сообщите мне.Обычно я работаю с magento и продолжаю учиться каждый день.
так что я хочу: налоговая ставка 1 = (сумма цен на продукты с налоговой ставкой 1) налоговая ставка 2 = (сумма цен на продукты с налоговой ставкой2)