Incorporate to the printing of Invoice and Shipping Note
-
Hello, I have created a custom field with a substitution criteria within the woocommerce checkout.
Now I need that field to appear in the invoices and in the shipping notes and packing slips.
Este es el código para el campo personalizado
//* A?adimos el campo select en el formulario, antes del campo de notas add_action('woocommerce_before_order_notes', 'wps_add_select_checkout_field'); function wps_add_select_checkout_field( $checkout ) { echo '<h3>'.__('Criterio de sustitución').'</h3><p>En el caso de tener faltante en el stock de algún producto de tu pedido y para agilizar el envío del mismo, te pedimos que nos indiques alguna de estas acciones</p>'; woocommerce_form_field( 'criteriosustitucion', array( 'type' => 'select', 'class' => array( 'wps-drop' ), 'label' => __( 'Opciones de sustitución' ), 'options' => array( 'blank' => __( 'Seleccione una opción', 'wps' ), 'Reemplazar por producto similar' => __( 'Quiero que lo reemplacen por otro producto similar de la linea', 'wps' ), 'Dinero a crédito para futura compra' => __( 'Quiero que mi dinero quede a crédito para mi próxima compra', 'wps' ), ) ), $checkout->get_value( 'criteriosustitucion' )); } //* Revisamos el campo en el proceso de envío del formulario: add_action('woocommerce_checkout_process', 'wps_select_checkout_field_process'); function wps_select_checkout_field_process() { global $woocommerce; // Si está seleccionada la opción 'blank', lanza un error if ($_POST['criteriosustitucion'] == "blank") wc_add_notice( '<strong>Por favor, seleccione una de las opciones de sustitución</strong>', 'error' ); } //* Guardamos los datos del campo add_action('woocommerce_checkout_update_order_meta', 'wps_select_checkout_field_update_order_meta'); function wps_select_checkout_field_update_order_meta( $order_id ) { if ($_POST['criteriosustitucion']) update_post_meta( $order_id, 'criteriosustitucion', esc_attr($_POST['criteriosustitucion'])); } //* Mostramos el valor del campo en el pedido add_action( 'woocommerce_admin_order_data_after_billing_address', 'wps_select_checkout_field_display_admin_order_meta', 10, 1 ); function wps_select_checkout_field_display_admin_order_meta($order){ echo '<br><p><strong>'.__('Criterio de sustitución').':</strong> ' . get_post_meta( $order->id, 'criteriosustitucion', true ) . '</p>'; } //* y en los emails de confirmación de pedido add_filter('woocommerce_email_order_meta_keys', 'wps_select_order_meta_keys'); function wps_select_order_meta_keys( $keys ) { $keys['Criterio de sustitución'] = 'criteriosustitucion'; return $keys; }
If anyone could help me with the code to do this I would be very grateful.
The page I need help with: [log in to see the link]
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘Incorporate to the printing of Invoice and Shipping Note’ is closed to new replies.