una texto requerido por plugin personalizar para modificar introduce finalizar favor facturación dirección continuar configurar compra campos campo cambiar php wordpress woocommerce field checkout

php - texto - Hacer que el campo de pago personalizado de WooCommerce no sea editable



woocommerce facturación es un campo requerido (1)

Debería probar este campo de texto <imput> con la propiedad readonly (es decir, no editable) .

Debería tener su ''emei'' configurado en la url de pago como:
http://www.example.com/checkout/?imei=3545454653 para que aparezca el campo con el valor, ya que tengo esta condición: if( empty($_GET[''imei''])) return; establecer en la función.

El código:

// Display add_action( ''woocommerce_after_order_notes'', ''custom_woocommerce_checkout_fields'' ); function custom_woocommerce_checkout_fields( $checkout ) { // Only display field if the ''emei'' is set in the checkout url if( empty($_GET[''imei''])) return; echo ''<p class="form-row my-field-class form-row-wide woocommerce-validated" id="imei_field"> <label for="imei" class="">''.__(''IMEI'').''</label> <input type="text" class="input-text " name="imei" id="imei" placeholder="''.__(''IMEI'').''" value="''.$_GET[''imei''].''" readonly> </p>''; } // Save add_action( ''woocommerce_checkout_update_order_meta'', ''custom_checkout_field_update_order_meta'' ); function custom_checkout_field_update_order_meta( $order_id ) { if ( ! empty( $_POST[''imei''] ) ) { update_post_meta( $order_id, ''_imei'', sanitize_text_field( $_POST[''imei''] ) ); } }

El código va en el archivo function.php de su tema hijo activo (o tema) o también en cualquier archivo de complemento.

Probado y funciona en WooCommerce versiones 3+

Para obtener el valor (para un $order_id definido) :

$imei = get_post_meta( $order_id, ''_imei'', true );

Agregué un campo personalizado en la página de pago de woocommerce que está lleno por URL pero me cuesta encontrar la manera de que este field no sea editable.

Agregué el siguiente código a function.php :

//Add custom field function custom_woocommerce_checkout_fields( $checkout_fields = array() ) { $checkout_fields[''order''][''imei''] = array( ''type'' => ''text'', ''class'' => array(''my-field-class form-row-wide''), ''label'' => __(''IMEI''), ''placeholder'' => __(''imei''), ''default'' => $_GET[''imei''], ); return $checkout_fields; } add_filter( ''woocommerce_checkout_fields'', ''custom_woocommerce_checkout_fields'' );

¿Qué debería cambiar en mi código para lograr esto?