Edit tax class in Woocommerce admin order details


I am trying to make select box to change tax class at admin order detail in Woo. I made column, select box with tax classes, when the product is one, it works perfectly. But when i have more than 2 products it gets tax class what have the last of the list (you can see it in video). I would like to be able to set tax class for every item separately… Thanks for help

Here is video

My code in functions.php is like that

function tax_edit_col_h($order){
  <th class="line_changetax">
    Změna daně
add_action( 'woocommerce_admin_order_item_headers', 'tax_edit_col_h' );

function tax_change($item_id, $item, $product) {
    if('line_item' === $item->get_type()){
        <td class="line_changetax" style="width:20%">
            <select name="change_tax" id="change_tax_select" style="width:90%; display:inline-block">
                $arraytax = WC_Tax::get_tax_class_slugs();
                    echo '<option value="'.$item->get_tax_class().'">'.$item->get_tax_class().'</option>';
                foreach($arraytax as $tax){
                    echo '<option value="'.$tax.'">'.$tax.'</option>';
add_action( 'woocommerce_admin_order_item_values', 'tax_change', 10, 3 );

function change_order_item_tax_class( $item ) {
    if (isset($_POST['change_tax']) ) {
add_action( 'woocommerce_before_save_order_item', 'change_order_item_tax_class' ); 
Jirka Kriz 8 months 0 Answers 93 views 0

Leave an answer