Use variables to save values in item crud.
This commit is contained in:
parent
3a3588c92c
commit
31308403d4
|
@ -527,7 +527,7 @@ abstract class WC_Data {
|
|||
protected function get_prop( $prop, $context = 'view' ) {
|
||||
$value = null;
|
||||
|
||||
if ( array_key_exists( $prop, $this->data ) ) {
|
||||
if ( isset( $this->data[ $prop ] ) ) {
|
||||
$value = isset( $this->changes[ $prop ] ) ? $this->changes[ $prop ] : $this->data[ $prop ];
|
||||
|
||||
if ( 'view' === $context ) {
|
||||
|
|
|
@ -197,7 +197,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
|
|||
}
|
||||
$this->items_to_delete = array();
|
||||
|
||||
// Add/save items
|
||||
// Add/save items.
|
||||
foreach ( $this->items as $item_group => $items ) {
|
||||
if ( is_array( $items ) ) {
|
||||
foreach ( $items as $item_key => $item ) {
|
||||
|
@ -835,8 +835,8 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
|
|||
$item->set_order_id( $this->get_id() );
|
||||
|
||||
// Append new row with generated temporary ID
|
||||
if ( $item->get_id() ) {
|
||||
$this->items[ $items_key ][ $item->get_id() ] = $item;
|
||||
if ( $item_id = $item->get_id() ) {
|
||||
$this->items[ $items_key ][ $item_id ] = $item;
|
||||
} else {
|
||||
$this->items[ $items_key ][ 'new:' . sizeof( $this->items[ $items_key ] ) ] = $item;
|
||||
}
|
||||
|
|
|
@ -43,9 +43,14 @@ class WC_Order_Item_Coupon_Data_Store extends Abstract_WC_Order_Item_Type_Data_S
|
|||
* @param WC_Order_Item $item
|
||||
*/
|
||||
public function save_item_data( &$item ) {
|
||||
$id = $item->get_id();
|
||||
update_metadata( 'order_item', $id, 'discount_amount', $item->get_discount( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'discount_amount_tax', $item->get_discount_tax( 'edit' ) );
|
||||
$id = $item->get_id();
|
||||
$save_values = array(
|
||||
'discount_amount' => $item->get_discount( 'edit' ),
|
||||
'discount_amount_tax' => $item->get_discount_tax( 'edit' ),
|
||||
);
|
||||
foreach ( $save_values as $key => $value ) {
|
||||
update_metadata( 'order_item', $id, $key, $value );
|
||||
}
|
||||
$this->clear_cache( $item );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,12 +44,17 @@ class WC_Order_Item_Fee_Data_Store extends Abstract_WC_Order_Item_Type_Data_Stor
|
|||
* @param WC_Order_Item $item
|
||||
*/
|
||||
public function save_item_data( &$item ) {
|
||||
$id = $item->get_id();
|
||||
update_metadata( 'order_item', $id, '_tax_class', $item->get_tax_class( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_tax_status', $item->get_tax_status( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_total', $item->get_total( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_tax', $item->get_total_tax( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_tax_data', $item->get_taxes( 'edit' ) );
|
||||
$id = $item->get_id();
|
||||
$save_values = array(
|
||||
'_tax_class' => $item->get_tax_class( 'edit' ),
|
||||
'_tax_status' => $item->get_tax_status( 'edit' ),
|
||||
'_line_total' => $item->get_total( 'edit' ),
|
||||
'_line_tax' => $item->get_total_tax( 'edit' ),
|
||||
'_line_tax_data' => $item->get_taxes( 'edit' ),
|
||||
);
|
||||
foreach ( $save_values as $key => $value ) {
|
||||
update_metadata( 'order_item', $id, $key, $value );
|
||||
}
|
||||
$this->clear_cache( $item );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,16 +47,21 @@ class WC_Order_Item_Product_Data_Store extends Abstract_WC_Order_Item_Type_Data_
|
|||
* @param WC_Order_Item $item
|
||||
*/
|
||||
public function save_item_data( &$item ) {
|
||||
$id = $item->get_id();
|
||||
update_metadata( 'order_item', $id, '_product_id', $item->get_product_id( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_variation_id', $item->get_variation_id( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_qty', $item->get_quantity( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_tax_class', $item->get_tax_class( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_subtotal', $item->get_subtotal( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_subtotal_tax', $item->get_subtotal_tax( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_total', $item->get_total( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_tax', $item->get_total_tax( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, '_line_tax_data', $item->get_taxes( 'edit' ) );
|
||||
$id = $item->get_id();
|
||||
$save_values = array(
|
||||
'_product_id' => $item->get_product_id( 'edit' ),
|
||||
'_variation_id' => $item->get_variation_id( 'edit' ),
|
||||
'_qty' => $item->get_quantity( 'edit' ),
|
||||
'_tax_class' => $item->get_tax_class( 'edit' ),
|
||||
'_line_subtotal' => $item->get_subtotal( 'edit' ),
|
||||
'_line_subtotal_tax' => $item->get_subtotal_tax( 'edit' ),
|
||||
'_line_total' => $item->get_total( 'edit' ),
|
||||
'_line_tax' => $item->get_total_tax( 'edit' ),
|
||||
'_line_tax_data' => $item->get_taxes( 'edit' ),
|
||||
);
|
||||
foreach ( $save_values as $key => $value ) {
|
||||
update_metadata( 'order_item', $id, $key, $value );
|
||||
}
|
||||
$this->clear_cache( $item );
|
||||
}
|
||||
|
||||
|
|
|
@ -43,11 +43,16 @@ class WC_Order_Item_Shipping_Data_Store extends Abstract_WC_Order_Item_Type_Data
|
|||
* @param WC_Order_Item $item
|
||||
*/
|
||||
public function save_item_data( &$item ) {
|
||||
$id = $item->get_id();
|
||||
update_metadata( 'order_item', $id, 'method_id', $item->get_method_id( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'cost', $item->get_total( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'total_tax', $item->get_total_tax( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'taxes', $item->get_taxes( 'edit' ) );
|
||||
$id = $item->get_id();
|
||||
$save_values = array(
|
||||
'method_id' => $item->get_method_id( 'edit' ),
|
||||
'cost' => $item->get_total( 'edit' ),
|
||||
'total_tax' => $item->get_total_tax( 'edit' ),
|
||||
'taxes' => $item->get_taxes( 'edit' ),
|
||||
);
|
||||
foreach ( $save_values as $key => $value ) {
|
||||
update_metadata( 'order_item', $id, $key, $value );
|
||||
}
|
||||
$this->clear_cache( $item );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,12 +45,17 @@ class WC_Order_Item_Tax_Data_Store extends Abstract_WC_Order_Item_Type_Data_Stor
|
|||
* @param WC_Order_Item $item
|
||||
*/
|
||||
public function save_item_data( &$item ) {
|
||||
$id = $item->get_id();
|
||||
update_metadata( 'order_item', $id, 'rate_id', $item->get_rate_id( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'label', $item->get_label( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'compound', $item->get_compound( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'tax_amount', $item->get_tax_total( 'edit' ) );
|
||||
update_metadata( 'order_item', $id, 'shipping_tax_amount', $item->get_shipping_tax_total( 'edit' ) );
|
||||
$id = $item->get_id();
|
||||
$save_values = array(
|
||||
'rate_id' => $item->get_rate_id( 'edit' ),
|
||||
'label' => $item->get_label( 'edit' ),
|
||||
'compound' => $item->get_compound( 'edit' ),
|
||||
'tax_amount' => $item->get_tax_total( 'edit' ),
|
||||
'shipping_tax_amount' => $item->get_shipping_tax_total( 'edit' ),
|
||||
);
|
||||
foreach ( $save_values as $key => $value ) {
|
||||
update_metadata( 'order_item', $id, $key, $value );
|
||||
}
|
||||
$this->clear_cache( $item );
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue