WooCommerce – Order_itemmeta – Müssen Meta-Schlüssel zu Tabelle hinzufügen

Ich muss zu jedem order_item der Tabelle woocommerce_order_itemmeta 3 Metawerte hinzufügen. Irgendwelche Vorschläge, wie man neue meta_keys erstellt, die in die Tabelle für alle Bestellartikel aufgenommen werden sollen?

Solutions Collecting From Web of "WooCommerce – Order_itemmeta – Müssen Meta-Schlüssel zu Tabelle hinzufügen"

Dieser Artikel hat mir geholfen: https://wisdmlabs.com/blog/add-custom-data-woocommerce-order/

Die Werte, die ich hinzufüge, sind zum Zeitpunkt der Bestellung vor dem Kunden verborgen und werden bei der Lieferung aktualisiert. Ich benötigte nur die functionen von Schritt 5 und 6 des Artikels und habe einige kleine Änderungen für meine Zwecke vorgenommen.

Jedenfalls hoffe ich, dass dieser Artikel anderen hilft, dasselbe zu versuchen. Ich habe die functions.php meines Themas hinzugefügt.

add_action('woocommerce_add_order_item_meta','wdm_add_values_to_order_item_meta',1,1); if(!function_exists('wdm_add_values_to_order_item_meta')) { function wdm_add_values_to_order_item_meta($item_id) { global $woocommerce,$wpdb; wc_add_order_item_meta($item_id,'pid',0); wc_add_order_item_meta($item_id,'start_count',0); wc_add_order_item_meta($item_id,'end_count',0); } } add_action('woocommerce_before_cart_item_quantity_zero','wdm_remove_user_custom_data_options_from_cart'); if(!function_exists('wdm_remove_user_custom_data_options_from_cart')) { function wdm_remove_user_custom_data_options_from_cart() { global $woocommerce; // Get cart $cart = $woocommerce->cart->get_cart(); // For each item in cart, if item is upsell of deleted product, delete it foreach( $cart as $key => $values) { if ( $values['pid'] == 0 ){ unset( $woocommerce->cart->cart_contents[ $key ] ); } if ( $values['start_count'] == 0 ){ unset( $woocommerce->cart->cart_contents[ $key ] ); } if ( $values['end_count'] == 0 ){ unset( $woocommerce->cart->cart_contents[ $key ] ); } } } }