Para remover um campo personalizado do checkout no WooCommerce quando um produto específico estiver no carrinho, você pode usar a função woocommerce_checkout_fields e remover o campo com base no produto. Aqui está um código de exemplo que pode ajudar você: add_filter( 'woocommerce_checkout_fields', 'remove_custom_field_based_on_product' ); function remove_custom_field_based_on_product( $fields ) { // Insira aqui o ID do produto que o […]
Categoria: WooCommerce
Ocultar certos métodos de pagamento no checkout para determinados produtos
Neste exemplo, você precisa personalizar a função hide_payment_method_for_specific_products alterando os IDs dos produtos e os nomes dos métodos de pagamento que deseja ocultar de acordo com suas necessidades. Adicione esta função ao functions.php do seu tema e ela ocultará os métodos de pagamento selecionados com base nos IDs dos produtos. Observe que este é apenas um exemplo e você […]
Ative o frete grátis para clientes regulares
add_filter('woocommerce_shipping_free_shipping_threshold', 'frete_grátis_para_clientes_recorrentes'); função frete_grátis_para_clientes_recorrentes($limite) { se (usuário_está_logado() && usuário_atual_pode('grupo_de_clientes')) { limite_$ = 0; // Frete grátis para clientes regulares } return $threshold; }
Esvaziar automaticamente o carrinho de compras quando um produto for adicionado
add_action('woocommerce_add_to_cart', 'carrinho_vazio_ao_adicionar'); função carrinho_vazio_ao_adicionar() { WC()->carrinho->carrinho_vazio(); }
Crie abas personalizadas na página do produto
add_filter('woocommerce_product_tabs', 'custom_product_tabs'); função custom_product_tabs($tabs) { $tabs['custom_tab'] = array( 'title' => __('Informações adicionais', 'woocommerce'), 'priority' => 50, 'callback' => 'custom_product_tab_content' ); retornar $tabs; } função custom_product_tab_content() { eco '<h2>Informações adicionais</h2>'; eco '<p>Aqui você pode encontrar mais informações sobre este produto.</p>'; }
Remover campo de código de voucher do carrinho de compras
add_action('init', 'remover_campo_de_cupom_do_carrinho'); função remove_coupon_field_from_cart() { remove_action('woocommerce_before_cart', 'woocommerce_coupon_form', 10); }
Os custos de envio variam dependendo da quantidade de itens
add_filter('woocommerce_package_rates', 'ajustar_envio_com_base_na_contagem_de_itens', 10, 2); função ajustar_envio_com_base_na_contagem_de_itens($rates, $pacote) { $item_count = WC()->carrinho->obter_contagem_de_conteudo_do_carrinho(); se ($item_count > 5) { foreach ($rates como $rate_id => $rate) { $rates[$rate_id]->custo += 2,00; // Custos de envio adicionais para 6 itens ou mais } } return $rates; }
Desconto em produtos da categoria “Promoção”
add_filter('woocommerce_product_get_price', 'categoria_de_venda_com_desconto_produtos', 10, 2); função discount_sale_category_products($preço, $produto) { $sale_category = 'venda'; // Nome da categoria de vendas if (has_term($sale_category, 'product_cat', $product->get_id())) { $price = $price * 0.8; // 20% Desconto para produtos na categoria de vendas } return $price; }
Mensagem personalizada para produtos esgotados
add_filter('woocommerce_get_availability', 'mensagem_personalizada_de_estoque_fora', 1, 2); function custom_out_of_stock_message($availability, $product) { if (!$product->is_in_stock()) { $availability['availability'] = __('Infelizmente fora de estoque - Entre em contato conosco para mais informações.', 'woocommerce'); } retornar $availability; }
Adicionar campo de texto personalizado ao formulário de checkout
add_action('woocommerce_after_checkout_billing_form', 'campo_do_formulário_de_checkout_personalizado'); função custom_checkout_form_field($checkout) { eco '<div id="”custom_checkout_field”"><h2>' . __('Informações adicionais') . '</h2>'; woocommerce_form_field('custom_field', array( 'type' => 'text', 'class' => array('form-row-wide'), 'label' => __('Campo personalizado'), 'placeholder' => __('Digite suas informações aqui.'), 'required' => false, ), $checkout->get_value('custom_field')); eco '</div>'; }