Cuando vas a comprar en Woocommerce hay ciertos campos de registro obligatorios para realizar el checkout. Hoy os enseñamos cómo modificar dichos campos.
Personalizar los campos obligatorios en el checkout de WooCommerce.
Como viene siendo habitual, os dejamos dos maneras de hacerlo:
- Con plugins. Os dejamos tres de los más usados. El modo de hacerlo es similar en los tres. Escogemos la sección y ahí decidimos qué campos queremos que sean obligatorios. En alguno tienes que crear el campo y luego definir su obligatoriedad o no.
–Flexible Checkout Fields for WooCommerce
– WooCommerce Checkout Manager
– Checkout Field Editor (Checkout Manager) for WooCommerce
Aquí os dejamos cómo usar el primero.
- Puedes modificar los campos a través de un plugin o poniendo código en functions.php o en un Snippet. Personalmente creo que para este caso es mejor usar plugins, pero por si lo necesitas, aquí lo tienes.
La información la tienes en este artículo de WooCommerce. Vas a tener que “jugar” un poco hasta encontrar los campos que quieres y cómo modificarlos, pero te dejamos un par de ejemplos de gente que lo ha hecho para que veas el código.– Ejemplo de poner campos como obligatorios y quitar otros.
Ejemplo de Snippets.
– Deshabilitar la validación de campos (no se si es necesario).
//Poner en readonly todos los campos del checkout
add_filter( 'woocommerce_checkout_fields' , 'read_only_checkout_fields' );
function read_only_checkout_fields( $fields ) {
$fields['billing']['billing_first_name']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_last_name']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_company']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_phone']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_address_1']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_address_2']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_city']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_postcode']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_country']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_state']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_address_2']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_postcode']['custom_attributes'] = array('readonly'=>'readonly');
$fields['billing']['billing_email']['custom_attributes'] = array('readonly'=>'readonly');
return $fields;
}
// WooCommerce Remove Required Checkout Fields
add_filter( 'woocommerce_checkout_fields' , 'custom_wc_checkout_fields_required' );
function custom_wc_checkout_fields_required( $fields ) {
$fields['billing']['billing_phone']['required'] = false;
$fields['billing']['billing_first_name']['required'] = false;
$fields['billing']['billing_last_name']['required'] = false;
$fields['billing']['billing_company']['required'] = false;
$fields['billing']['billing_address_1']['required'] = false;
$fields['billing']['billing_address_2']['required'] = false;
$fields['billing']['billing_city']['required'] = false;
$fields['billing']['billing_postcode']['required'] = false;
$fields['billing']['billing_country']['required'] = false;
$fields['billing']['billing_state']['required'] = false;
$fields['billing']['billing_phone']['required'] = false;
$fields['billing']['billing_postcode']['required'] = false;
$fields['billing']['billing_company']['required'] = false;
$fields['billing']['billing_email']['required'] = false;
return $fields;
}
Os recomendamos los siguientes productos relacionados con la informática: