add_action('pre_get_posts', 'exclude_products_from_categories'); function exclude_products_from_categories($query) { if (is_shop() && $query->is_main_query()) { $excluded_categories = array(7, 8, 9); // Categorias a serem excluídas $query->set('tax_query', array( array( 'taxonomy' => 'product_cat', 'field' => 'id', 'terms' => $excluded_categories, 'operator' = > 'NOT EM', ), )); } }
Categoria: WordPress
Plug-ins(37)
Altere o preço do produto com base na localização do usuário
add_filter(‘woocommerce_product_get_price’, ‘adjust_price_by_user_location’, 10, 2); function adjust_price_by_user_location($price, $product) { $user_country = WC()->customer->get_billing_country(); if ($user_country == ‘US’) { $price = $price * 1.1; // 10% Aufschlag für US-Kunden } return $price; }
Aplique o código do cupom com base na categoria do produto
add_action('woocommerce_before_cart', 'apply_coupon_based_on_category'); função apply_coupon_based_on_category() { $coupon_code = 'CATEGORYCODE'; // Código do cupom para categoria específica $target_category = 'sale'; // Nome da categoria $cart = WC()->cart; $cupom_aplicado = falso; foreach ($cart->get_cart() as $cart_item) { $product = $cart_item['dados']; if (has_term($target_category, 'product_cat', $product->get_id())) { $coupon_applied = true; quebrar; } } if (!$coupon_applied) { $cart->apply_coupon($coupon_code); } }
Os custos de envio mudam com base no peso dos produtos
add_filter('woocommerce_package_rates', 'ajustar_shipping_costs_by_weight', 10, 2); função ajustar_shipping_costs_by_weight($rates, $package) { $total_weight = WC()->carrinho->get_cart_contents_weight(); if ($total_weight > 10) { foreach ($rates as $rate_id => $rate) { $rates[$rate_id]->custo += 7,00; // Custos adicionais de envio para pacotes pesados } } return $rates; }
Ocultar produtos na categoria “Promoção”
add_action('pre_get_posts', 'exclude_sale_category_products'); function exclude_sale_category_products($query) { if (is_shop() && $query->is_main_query()) { $query->set('tax_query', array( array( 'taxonomy' => 'product_cat', 'field' => 'slug' , 'termos' => 'venda', 'operador' => 'NÃO ESTÁ', ), )); } }
Frete grátis acima de um determinado valor
add_filter('woocommerce_shipping_free_shipping_is_available', 'free_shipping_above_threshold', 10, 2); função free_shipping_above_threshold($is_available, $package) { $free_shipping_threshold = 75; // Valor a partir do qual o frete é grátis $cart_total = WC()->cart->get_cart_contents_total(); if ($cart_total >= $free_shipping_threshold) { $is_available = verdadeiro; } retornar $is_disponível; }
Incorpore o arquivo CSS personalizado:
add_action('wp_enqueue_scripts', 'estilos_personalizados'); função custom_styles() { wp_enqueue_style('estilo-personalizado', get_stylesheet_directory_uri() . '/custom.css'); }
Desabilitar avaliações de clientes na página do produto
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10);
Defina uma quantidade mínima de pedido para entrega gratuita
A função set_free_shipping_minimum() no WooCommerce verifica se o valor do carrinho de compras do cliente atingiu o valor mínimo do pedido para frete grátis. Caso o valor do carrinho esteja abaixo do valor mínimo do pedido, uma mensagem de erro será exibida informando ao cliente que ele precisa atingir o valor mínimo do pedido para receber frete grátis. O valor mínimo do pedido pode ser alterado na função por […]
Mostrar status do pedido em e-mails de pedidos
add_filter('woocommerce_email_order_meta_keys', 'mostrar_status_do_pedido_em_emails'); função show_order_status_in_emails($keys) { $keys[] = '_order_status'; retornar $keys; }