How to add a (second) custom sku field to WooCommerce products?
Adding extra fields can be done in a very simple way:
function jk_add_custom_sku() { $args_1 = array( 'label' => __( 'Custom SKU', 'woocommerce' ), 'placeholder' => __( 'Enter custom SKU here', 'woocommerce' ), 'id' => 'jk_sku', 'desc_tip' => true, 'description' => __( 'This SKU is for internal use only.', 'woocommerce' ), ); woocommerce_wp_text_input( $args_1 ); // Extra field $args_2 = array( 'label' => __( 'Nominal codes', 'woocommerce' ), 'placeholder' => __( 'Enter nominal codes here', 'woocommerce' ), 'id' => '_nominal_codes', 'desc_tip' => true, 'description' => __( 'This is for nominal codes.', 'woocommerce' ), ); woocommerce_wp_text_input( $args_2 );}add_action( 'woocommerce_product_options_sku', 'jk_add_custom_sku' );// Savefunction jk_save_custom_meta( $product ){ if( isset($_POST['jk_sku']) ) { $product->update_meta_data( 'jk_sku', sanitize_text_field( $_POST['jk_sku'] ) ); } // Extra field if( isset($_POST['_nominal_codes']) ) { $product->update_meta_data( '_nominal_codes', sanitize_text_field( $_POST['_nominal_codes'] ) ); }}add_action( 'woocommerce_admin_process_product_object', 'jk_save_custom_meta', 10, 1 );