
Danski
Entonces, este problema puede tener una solución fácil, pero estoy atascado por el momento. Después de la última actualización (Woocommerce 3.3.5) tengo un problema con el campo de estado en la página de pago, porque no es obligatorio y la gente simplemente lo omite. Realmente necesito que esto sea obligatorio, porque conecté mi sitio web al servidor de la empresa de entrega a través de una API para enviarles la información del pedido directamente.
Intenté agregar esto a mi functions.php y la cosa es que cuando voy a la página de pago, el campo tiene un asterisco, pero por un segundo.
add_filter( 'woocommerce_billing_fields', 'woo_filter_state_billing',
10, 1 );
add_filter( 'woocommerce_shipping_fields',
'woo_filter_state_shipping', 10, 1 );
function woo_filter_state_billing( $address_fields ) {
$address_fields['billing_state']['required'] = true;
return $address_fields;
}
function woo_filter_state_shipping( $address_fields ) {
$address_fields['shipping_state']['required'] = true;
return $address_fields;
}
Cualquier ayuda es apreciada. ¡Gracias!
De forma predeterminada, en la última versión 3.3.5 de WooCommerce, el campo de estado es obligatorio… Entonces, en su caso, algo hace que ese campo “no” sea obligatorio.
Puedes probar esto (funciona para los campos de facturación y envío al mismo tiempo):
add_filter( 'woocommerce_default_address_fields' , 'make_state_field_required', 90, 1 );
function make_state_field_required( $address_fields ) {
$address_fields['state']['required'] = true;
return $address_fields;
}
El código va en el archivo function.php de su tema secundario activo (o tema activo). Podría funcionar.
Esto funcionó mejor para mí a partir de enero de 2019
add_filter( 'woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1 );
add_filter( 'woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1 );
function woo_filter_state_billing( $address_fields ) {
$address_fields['billing_state']['required'] = true;
return $address_fields;
}
function woo_filter_state_shipping( $address_fields ) {
$address_fields['shipping_state']['required'] = true;
return $address_fields;
}
¿Quizás te refieres a “país”? Tuve ese problema, siendo ese campo inexplicablemente opcional. En ese caso, el código sería:
add_filter( 'woocommerce_billing_fields' , 'make_country_field_required', 90, 1 );
function make_country_field_required( $address_fields ) {
$address_fields['billing_country']['required'] = true;
return $address_fields;
}