Como simplificar o tema da vitrine de itens gratuitos do Checkout
Publicados: 2020-11-03Na maioria das lojas WooCommerce, os clientes compram produtos e enviam o pagamento depois de fazer o checkout. Além disso, eles também selecionarão um método de envio ou inserirão um código de cupom para receber um desconto.
No entanto, se você estiver oferecendo um item gratuito em sua loja, talvez não exija todos os campos na finalização da compra. Isso significa que você não receberá nenhum pagamento de frete. Como resultado, talvez você não precise dos detalhes de cobrança, apenas o nome e provavelmente um e-mail.
Itens gratuitos de checkout simplificado na vitrine
Vale a pena mencionar que o WooCommerce removerá de maneira útil a seleção do método de pagamento para checkouts gratuitos. No entanto, os campos de cobrança ainda estão presentes e são necessários para fazer um pedido:
Se você vende produtos virtuais gratuitos, como associação gratuita, seria melhor simplificar o processo de checkout.
Se você está tendo esse problema, é fácil verificar se o checkout não tem custo com a verificação WC()->cart->needs_payment(). Ilustrarei como usar isso para realizar algumas ações para simplificar o checkout gratuito do WooCommerce se nenhum pagamento for necessário. Precisamos remover alguns campos de cobrança condicionalmente.
Deixe-me orientá-lo em algumas etapas que você pode seguir para simplificar o checkout gratuito e juntá-lo em um snippet utilizável.
Etapas para simplificar o checkout de itens gratuitos
- Remover formulários de cupom
Você não precisa de um formulário de cupom se quiser ter um checkout gratuito, pois não há nada para descontar. Usarei ! WC()->cart->needs_payment() como um cheque, que assumirá que o total do checkout é $0, então não há custos de envio ou pagamento do pedido necessário. Para remover com segurança a entrada do cupom, precisamos usar o seguinte código:
// remove formulários de cupom se você não quiser um cupom para um carrinho grátis remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
- Desativar notas do pedido
Você pode querer reunir notas de pedido para um pedido gratuito. No entanto, a principal coisa que estamos tentando fazer é simplificar o processo de checkout para clientes em sua loja WooCommerce. Vou remover toda a seção "Informações adicionais" do checkout. Isso pode ser feito usando o filtro woocommerce_enable_order_notes_field, pois podemos definir isso como false, para que não haja notas de pedido.
// Remove as notas do pedido "Informações Adicionais" add_filter('woocommerce_enable_order_notes_field', '__return_false');
- Campos desnecessários não definidos
Como é um pedido gratuito, não precisamos cobrar um cartão de crédito. A maioria dos campos de faturamento no checkout não são necessários. Isso significa que eu tenho que desmarcar o campo de compra que eu não preciso. Você pode encontrar uma lista dos campos de checkout na documentação do WooCommerce.
// Desmarca os campos que não queremos em um checkout gratuito function unset_unwanted_checkout_fields( $fields ) { // lista das chaves do campo de cobrança a serem removidas $billing_keys = array( 'billing_company', 'faturamento_telefone', 'Endereço de cobrança 1', 'endereço_de cobrança_2', 'billing_city', 'billing_postcode', 'País de faturamento', 'Estado de faturamento', ); // desmarca cada um desses campos indesejados foreach( $billing_keys as $key ) { unset( $fields['billing'][$key]); } retornar $ campos; } add_filter('woocommerce_checkout_fields', 'unset_unwanted_checkout_fields');
No entanto, você pode escolher os campos que deseja remover do formulário de checkout.
- Adicionando o código
Aqui estão as etapas para adicionar o código no arquivo functions.php do tema Storefront:
- Faça login no seu site WordPress e acesse o Dashboard como usuário administrador.
- No menu Dashboard, clique em Appearance Menu > Theme Editor Menu . Quando a página do Editor de Temas for aberta, procure o arquivo de funções do tema para simplificar o checkout gratuito de itens.
- Adicione o seguinte código ao arquivo functions. php
/** * Remove formulário de cupom, notas de pedido e vários campos de cobrança se a finalização da compra não exigir pagamento. * * REQUER PHP 5.3+ * */ function sv_free_checkout_fields() { // primeiro, fiança se o WC não estiver ativo, pois estamos conectados a um gancho geral do WP if ( ! function_exists( 'WC' ) ) { Retorna; } // fiança se o carrinho precisar de pagamento, não queremos fazer nada if ( WC()->carrinho && WC()->carrinho->necessidades_pagamento() ) { Retorna; } // agora continua apenas se estivermos no checkout // is_checkout() foi quebrado a partir do WC 3.2 no contexto ajax, verifique novamente para is_ajax // Eu verificaria WOOCOMMERCE_CHECKOUT, mas o teste mostra que não está definido de forma confiável if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() ) ) { // remove formulários de cupom, pois por que você deseja um cupom para um carrinho grátis?? remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 ); // Remove as notas do pedido "Informações Adicionais" add_filter('woocommerce_enable_order_notes_field', '__return_false'); // Desmarca os campos que não queremos em um checkout gratuito add_filter( 'woocommerce_checkout_fields', function( $fields ) { // adiciona ou remove campos de cobrança que você não deseja // campos: http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2 $billing_keys = array( 'billing_company', 'faturamento_telefone', 'Endereço de cobrança 1', 'endereço_de cobrança_2', 'billing_city', 'billing_postcode', 'País de faturamento', 'Estado de faturamento', ); // desmarca cada um desses campos indesejados foreach( $billing_keys as $key ) { unset( $fields['billing'][ $key ] ); } retornar $ campos; }); } } add_action( 'wp', 'sv_free_checkout_fields');
- Ao adicionar o código inteiro, o checkout do WooCommerce será simplificado:
Conclusão
Em resumo, guiei você pelas etapas de simplificação do processo de checkout. Eu expliquei as etapas em detalhes para que você possa entender o código. No entanto, você precisa observar que este artigo apresenta alterações de código ou trechos que você pode fazer em seu arquivo function.php de temas ativos. Se você não estiver familiarizado com essa tarefa, contrate um desenvolvedor WordPress.
Artigos semelhantes
- Como alterar o slogan do tema da loja WooCommerce
- Como adicionar um campo extra no formulário de checkout do WooCommerce
- Como adicionar aviso de loja WooCommerce
- Como definir a largura total da página do produto do tema WooCommerce Storefront
- Como corrigir TypeError não capturado: wp.template não é uma função
- Como criar paginação numérica no WordPress sem usar plugin
- Como mover o WooCommerce da loja do menu primário
- Como remover o tema WooCommerce Storefront da página do carrinho
- Como aprovar pedidos automaticamente no WooCommerce
- Como alterar a cor do link no tema WooCommerce Storefront
- Como adicionar uma imagem de herói do WooCommerce Storefront
- Como redirecionar na atualização da página do WordPress » Detectar a atualização da página PHP
- Alterar Prossiga para o texto do checkout no WooCommerce
- Snippet PHP de logout do WooCommerce para criar botão de logout
- Como ajustar a altura do cabeçalho do WooCommerce Storefront
- Como adicionar a página de checkout do WooCommerce da imagem do produto
- Como configurar widgets de rodapé do WooCommerce Storefront
- Como contar itens adicionados ao carrinho Código de contagem de carrinho WooCommerce