Home » WooCommerce » Como remover todos os campos do checkout do WooCommerce exceto e-mail

Como remover todos os campos do checkout do WooCommerce exceto e-mail

Se você estiver construindo uma loja WooCommerce, há uma chance de não precisar de todos os campos no formulário de checkout padrão.

Você pode remover alguns campos usando plugins gratuitos, ou comprar plugins premium para personalizar o checkout do WooCommerce, mas se você for como eu, provavelmente não quer adicionar mais um plugin só para remover um campo ou dois.

Best WordPress hosting 2024

Ultimamente eu tinha um cliente que precisava remover quase todos os campos da página de checkout do WooCommerce. Basta deixar e-mail, seletor de pagamento, e nada mais. Aqui está como eu fiz sem nenhum plugin.

Como remover qualquer campo da página de checkout do WooCommerce sem plugins

O WooCommerce tem vários campos na página de Checkout por padrão. Para removê-los, criaremos uma função personalizada no arquivo functions.php do tema. Dependendo do tema utilizado, vá para Appearance >> Editor de Arquivo Temático ou Ferramentas >> Editor de Arquivo Temático, e clique no arquivo functions.php à direita.

Adicione esta função na parte inferior da página, e chame-a assim:

function tomasgdev_remove_fields($fields=array()) {

}
add_filter('woocommerce_billing_fields','tomasgdev_remove_fields');

Agora você tem uma função vazia que será usada para remover qualquer campo que você não precise na página de Checkout. Vamos remover alguns campos!

Aqui está toda a lista de campos que você pode remover da página de Checkout do WooCommerce:

  • unset($campos[‘faturamento_primeiro_nome’]); – remova o campo do primeiro nome
  • unset($fields[‘billing_last_name’]); – remover o campo do sobrenome
  • unset($fields[‘billing_company’]); remova o campo nome da empresa
  • unset($fields[‘billing_address_1’]); – remover o campo 1 do endereço
  • unset($fields[‘billing_address_2’]); – remover o campo de endereço 2
  • unset($fields[‘billing_city’]); – remover o campo da cidade
  • unset($fields[‘billing_postcode’]); – remover o campo CEP
  • unset($fields[‘billing_state’]); – remover campo de estado
  • unset($fields[‘billing_country’]); remova o campo do país
  • unset($fields[‘billing_phone’]); – remover o campo do telefone

Se você quiser remover todos estes campos da página de Checkout, basta adicioná-los à função que escrevemos anteriormente. Assim, ficaria assim:

function tomasgdev_remove_fields($fields=array()) {
 unset($fields['billing_first_name']);
 unset($fields['billing_last_name']);
 unset($fields['billing_company']);
 unset($fields['billing_address_1']);
 unset($fields['billing_address_2']);
 unset($fields['billing_city']);
 unset($fields['billing_postcode']);
 unset($fields['billing_state']); 
 unset($fields['billing_country']);
 unset($fields['billing_phone']);
}
add_filter('woocommerce_billing_fields','tomasgdev_remove_fields');

Após salvar as mudanças, todos os campos da página de Checkout serão removidos, exceto Notas.

Para remover notas de pedido, adicione este filtro ao final do mesmo arquivo function.php:

add_filter('woocommerce_enable_order_notes_field', '__return_false',9999);

É isso – agora você tem apenas o endereço de e-mail na lista de campos do WooCommerce Checkout.

Fathom analytics