简体   繁体   中英

Woocommerce product notes add to order meta

I created textarea field to save woocommerce products notes, i want to save these notes into admin order if any product available in cart and have product notes.

 // WooCommerce Products Custom Field add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' ); function woo_add_custom_general_fields() { global $woocommerce, $post; echo '<div class="options_group">'; // Textarea Field woocommerce_wp_textarea_input( array( 'id' => 'product_notes', 'label' => __( 'Product Notes', 'woocommerce' ), 'placeholder' => 'Enter product notes here.', 'desc_tip' => 'true', 'description' => __( 'Enter product notes here.', 'woocommerce' ) ) ); echo '</div>'; } // Save Product notes add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' ); function woo_add_custom_general_fields_save( $post_id ){ // Textarea $woocommerce_textarea = $_POST['product_notes']; if( !empty( $woocommerce_textarea ) ) update_post_meta( $post_id, 'product_notes', esc_html( $woocommerce_textarea ) ); } 

Ok, i find solution.

 add_action( 'woocommerce_checkout_update_order_meta', 'custom_product_notes_order_meta', 10, 2 ); function custom_product_notes_order_meta( $order_id ) { global $woocommerce; $i=1; //product counter foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) { $product_id = $cart_item['product_id']; $product_note = 'product_notes_'.$i++; if( !empty(get_post_meta( $product_id, 'product_notes', true )) ){ $product_notes = get_post_meta( $product_id, 'product_notes', true ); add_post_meta( $order_id, $product_note, $product_notes ); } } } 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM