Como adicionar a página de checkout do número de IVA do WooCommerce
Publicados: 2020-12-17Deseja adicionar um campo de número de IVA na página de checkout do WooCommerce? O WooCommerce não possui funcionalidade integrada para adicionar um campo de número de IVA. No entanto, criei um script PHP personalizado que adicionará um campo de IVA na página de checkout e na página da minha conta.
Check-out do número de IVA do WooCommerce
A venda de produtos na União Européia é muito específica, principalmente pelos aspectos legais. No entanto, o WooCommerce às vezes não leva isso em consideração, por isso é necessário ajustar a loja às condições europeias.
É essencial que a sua loja suporte o número de identificação de IVA para emissão de fatura. Neste tutorial, você aprenderá como adicionar um campo de IVA na página de checkout.
Etapas para adicionar um campo de IVA na página de checkout
Aqui estão os passos que você precisa seguir:
- Faça login no seu site WordPress e acesse o painel como usuário administrador.
- No menu do painel, clique no Menu Aparência > Menu Editor de Temas . Quando a página do editor de temas for aberta, procure o arquivo de funções do tema com a extensão functions.php. Abra este arquivo de funções para adicionar a função para adicionar um campo de IVA na página de checkout.
- Adicione o seguinte código ao arquivo functions.php:
/***************************** A PARTE DIANTEIRA ******************* *********************/ /**************************** Filtre para adicionar um campo de IVA a: - Minha conta - Editar formulário - Campos de cobrança - Checkout - Editar formulário - Campos de cobrança Esta função também está reordenando os campos do formulário. ***************************/ function add_woocommerce_billing_fields($billing_fields){ //reordenar os campos do formulário de endereço de cobrança $billing_fields2['billing_first_name'] = $billing_fields['billing_first_name']; $billing_fields2['billing_last_name'] = $billing_fields['billing_last_name']; $billing_fields2['billing_vat'] = array( 'tipo' => 'texto', 'label' => __('Número de IVA', 'keyelp-shop-customization' ), 'class' => array('form-row-wide'), 'obrigatório' => falso, 'claro' => verdadeiro ); $merged_billing_fields = $billing_fields2 + $billing_fields; return $merged_billing_fields; } add_filter('woocommerce_billing_fields', 'add_woocommerce_billing_fields'); /************ Filtros para adicionar IVA ao imprimir o endereço de cobrança em: - (1) Minha conta - (2) Checkout - Pedido Recebido (após a conclusão do checkout), +++ Filtros adicionais para formatar a saída impressa. ********/ // (1) Imprimindo o endereço de cobrança em minha conta add_filter( 'woocommerce_my_account_my_address_formatted_address', 'njengah_my_account_my_address_formatted_address', 10, 3 ); function njengah_my_account_my_address_formatted_address( $campos, $customer_id, $type) { if ( $type == 'faturamento' ) { $fields['vat'] = get_user_meta( $customer_id, 'billing_vat', true); } retornar $ campos; } // (2) Checkout -- Pedido Recebido (impresso após concluir o checkout) add_filter( 'woocommerce_order_formatted_billing_address', 'njengah_add_vat_formatted_billing_address', 10, 2 ); function njengah_add_vat_formatted_billing_address( $ campos, $ pedido ) { $fields['vat'] = $order->billing_vat; retornar $ campos; } // Criando variáveis de IVA de fusão para formatação de impressão add_filter( 'woocommerce_formatted_address_replacements', 'njengah_formatted_address_replacements', 10, 2 ); function njengah_formatted_address_replacements( $endereço, $args) { $endereço['{vat}'] = ''; $address['{vat_upper}']=''; if ( ! empty( $args['vat'] ) ) { $address['{vat}'] = $args['vat']; $address['{vat_upper}'] = strtoupper($args['vat']); } retornar $endereço; } //Definindo a formatação em espanhol para imprimir o endereço, incluindo IVA. add_filter( 'woocommerce_localisation_address_formats', 'njengah_localisation_address_format' ); function njengah_localisation_address_format( $formats ) { $formats['ES'] = "{nome}\n{empresa}\n{vat_upper}\n{endereço_1}\n{endereço_2}\n{código postal} {cidade}\n{estado}\n{país} "; retornar $formatos; } /******************************** PÁGINA DE PERFIL DO USUÁRIO ADMIN **************** ************************/ /**************** Filtre para adicionar metacampos de cliente de IVA (campo de perfil de usuário no agrupamento de endereços de cobrança) *****************/ add_filter('woocommerce_customer_meta_fields', 'njengah_customer_meta_fields'); function njengah_customer_meta_fields( $fields ) { $fields['billing']['fields']['billing_vat'] = array( 'label' => __( 'Número de IVA', 'njengah') ); retornar $ campos; } /**************************** PÁGINA DE PEDIDO DE ADMIN ******************** *********************/ /************ Filtre para adicionar o IVA à página Editar formulário no pedido -- Admin *********/ add_filter('woocommerce_admin_billing_fields', 'njengah_admin_billing_fields'); function njengah_admin_billing_fields( $fields ) { $campos['vat'] = array( 'label' => __( 'Número do IVA', 'njengah' ), 'mostrar' => verdadeiro ); retornar $ campos; } /**************** Filtre para copiar o campo IVA dos metacampos do usuário para o formulário Admin do pedido (depois de clicar no botão dedicado na página de administração) ******************/ add_filter('woocommerce_found_customer_details', 'njengah_found_customer_details'); function njengah_found_customer_details( $customer_data) { $customer_data['billing_vat'] = get_user_meta( $_POST['user_id'], 'billing_vat', true); retornar $customer_data; }
- Este é o resultado no front-end:
- Este é o resultado do lado do administrador:
Conclusão
Em resumo, você aprendeu como adicionar um campo de checkout de número de IVA na página de checkout do WooCommerce. Eu recomendo adicionar os trechos de código no arquivo functions.php do seu tema filho para que as alterações feitas não sejam perdidas durante uma atualização. O snippet de código exibe automaticamente o número do IVA nas faturas emitidas.
Artigos semelhantes
- Como ocultar o botão Atualizar a página do carrinho WooCommerce
- Como ocultar a quantidade em estoque no WooCommerce
- Como mover o WooCommerce da loja do menu primário
- Como ocultar o título da descrição do produto WooCommerce
- Como simplificar o tema da vitrine de itens gratuitos do Checkout
- Como alterar as etiquetas de checkout do WooCommerce
- Como criar um campo de caixa de seleção na página de checkout do WooCommerce
- Como criar campos de check-out condicional do WooCommerce
- Como adicionar um campo de seleção ao checkout WooCommerce
- Como alterar as mensagens de erro do WooCommerce Checkout
- Como adicionar o país padrão do WooCommerce Checkout
- Como atualizar a página de checkout WooCommerce
- Como editar os campos de checkout obrigatórios do WooCommerce
- Como adicionar um campo oculto na página de checkout do WooCommerce
- Como adicionar a página de checkout de fatura do WooCommerce
- Como configurar o WooCommerce Você deve estar logado no Checkout
- Como criar uma conta no checkout WooCommerce
- Como enviar para o pagamento Mpesa WooCommerce gratuitamente
- Como forçar o checkout seguro no WooCommerce