Editar campo personalizado desde los detalles del pedido en el admin
-
Buenas tardes.
Os cuento, he personalizado un WooCommerce para incluir en el Checkout el campo de NIF/CIF usando unos Snippets, tanto para incluirlo en el Formulario del CheckOut como en los detalles del pedido, como en el mail de confirmación como, y aquí viene lo que no funciona del todo, en la página de visualización/modificación del pedido del Admin.
Los códigos que he usado son los siguientes:
/* Añadir el campo NIF/CIF al formulario de pago*/ function xxx_woo_custom_field_checkout($checkout) { echo '<div id="additional_checkout_field">'; woocommerce_form_field( 'nif', array( // Identificador del campo 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'required' => true, // ¿El campo es obligatorio 'true' o 'false'? 'label' => __('NIF / CIF'), // Nombre del campo 'placeholder' => __('Ej: 12345678X'), // Texto de apoyo que se muestra dentro del campo ), $checkout->get_value( 'NIF' )); // Identificador del campo echo '</div>'; } add_action( 'woocommerce_after_checkout_billing_form', 'xxx_woo_custom_field_checkout' ); /* Incluir el NIF/CIF en los detalles del pedido*/ function xxx_woo_custom_field_checkout_update_order($order_id) { if ( ! empty( $_POST['nif'] ) ) { update_post_meta( $order_id, 'NIF', sanitize_text_field( $_POST['nif'] ) ); } } add_action( 'woocommerce_checkout_update_order_meta','xxx_woo_custom_field_checkout_update_order' ); /*Incluir el campo NIF/CIF en el email de aviso al cliente*/ function xxx_woo_custom_field_checkout_email($keys) { $keys[] = 'NIF'; return $keys; } add_filter('woocommerce_email_order_meta_keys','xxx_woo_custom_field_checkout_email');
Y este es el que no funciona del todo:
/* Mostrar la etiqueta y el campo NIF/CIF en la página de modificación del perdido en el admin de WordPress */ function xxx_woo_custom_field_checkout_edit_order($order){ echo '<p>'.__('NIF/CIF').':</strong> ' . get_post_meta( $order->id, 'NIF', true ) . '</p>'; } add_action( 'woocommerce_admin_order_data_after_billing_address','xxx_woo_custom_field_checkout_edit_order', 10, 1 );
Lo que muestra es el nombre del campo, y en caso de haber completado los datos del pedido desde la Web si muestra el valor, pero no es editable, solo lo muestra.
Lo que me falta es poder editarlo para que, en el caso de meter un pedido desde el admin, pueda poner el CIF.
Gracias y Feliz jueves
- Este debate fue modificado hace 6 años por .
- Este debate fue modificado hace 6 años por . Razón: Etiquetado del código
- Este debate fue modificado hace 6 años por .
La página con la que necesito ayuda: [accede para ver el enlace]
- El debate ‘Editar campo personalizado desde los detalles del pedido en el admin’ está cerrado a nuevas respuestas.