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>'; }
Categoria: WordPress
Plug-ins(37)
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>'; }
Adicione taxa de envio adicional com base no país
add_filter('woocommerce_cart_calculate_fees', 'add_additional_shipping_fee'); função add_additional_shipping_fee() { $shipping_country = WC()->cliente->get_shipping_country(); if ($shipping_country == 'EUA') { WC()->carrinho->add_fee('Taxa adicional de envio', 10,00); } }
Adicione campo personalizado para produtos
add_action('woocommerce_product_options_general_product_data', 'add_custom_product_field'); function add_custom_product_field() { woocommerce_wp_text_input(array( 'id' => 'custom_field', 'label' => __('Custom Field', 'woocommerce'), 'placeholder' => __('Insira as informações aqui.' ), 'desc_tip' => 'verdadeiro', )); } add_action('woocommerce_process_product_meta', 'save_custom_product_field'); função save_custom_product_field($post_id) { $custom_field = $_POST['custom_field']; if (!empty($custom_field)) { update_post_meta($post_id, 'custom_field', esc_attr($custom_field)); } }
Ocultar opções de envio com base no conteúdo do carrinho
add_filter(‘woocommerce_package_rates’, ‘hide_shipping_based_on_cart_content’, 10, 2); function hide_shipping_based_on_cart_content($rates, $package) { $cart_contains_digital_products = false; foreach ($package[‘contents’] as $item) { $product = $item[‘data’]; if ($product->is_downloadable()) { $cart_contains_digital_products = true; break; } } if ($cart_contains_digital_products) { foreach ($rates as $rate_id => $rate) { if (‘flat_rate’ === $rate->method_id) { unset($rates[$rate_id]); // Flat Rate Versand entfernen } } } return $rates; } […]
Adicione uma taxa adicional com base no número de produtos
add_action('woocommerce_cart_calculate_fees', 'add_fee_based_on_product_count'); função add_fee_based_on_product_count() { $product_count = WC()->carrinho->get_cart_contents_count(); if ($product_count >= 5) { WC()->carrinho->add_fee('Taxa adicional', 5,00); } }