I want to save order item category in order item meta. Got help from this answer https://stackoverflow.com/a/55575047/12183966 but i am getting an Internal Server Error on WooCommerce checkout.
Uncaught Error: Call to a member function get_items() on null
I can't figure out what i am doing wrong here. Any advice?
This is my code:
// Save item custom fields label and value as order item meta data
add_action('woocommerce_add_order_item_meta','save_in_order_item_meta', 10, 3 );
function save_in_order_item_meta( $item_id, $values, $cart_item_key ) {
foreach ($order->get_items() as $item ) {
$term_names = wp_get_post_terms( $item->get_product_id(), 'product_cat', ['fields' => 'names'] );
// Output as a coma separated string
$cat = implode(', ', $term_names);
wc_add_order_item_meta( $item_id, 'category', $cat );
}
}