Ocultar productos de determinadas categorías en la página de la tienda

add_action('pre_get_posts', 'excluir_productos_de_categorías'); función excluir_productos_de_categorías($query) { si (es_tienda() y $query->es_consulta_principal()) { categorías_excluidas = matriz(7, 8, 9); // Categorías a excluir $query->set('tax_query', array( array( 'taxonomy' => 'product_cat', 'field' => 'id', 'terms' => $excluded_categories, 'operator' => 'NOT IN', ), )); } }  

Leer más

Cambiar el precio del producto según la ubicación del usuario

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; }  

Leer más

Aplicar código de cupón según la categoría del producto

add_action('woocommerce_before_cart', 'aplicar_cupón_según_la_categoría'); función aplicar_cupón_basado_en_categoría() { $código_cupón = 'CÓDIGO_CATEGORÍA'; // Código de cupón para una categoría específica $target_category = 'sale'; // Nombre de la categoría $cart = WC()->cart; $coupon_applied = falso; foreach ($cart->get_cart() como $cart_item) { $product = $cart_item['datos']; si (tiene_término(categoría_objetivo, 'cat._producto', producto->obtener_id())) { cupón_aplicado = verdadero; romper; } } si (!$cupón_aplicado) { $cart->aplicar_cupón($cupón_código); } }  

Leer más

Cambiar los costos de envío en función del peso de los productos

add_filter('woocommerce_package_rates', 'ajustar_los_costos_de_envio_por_peso', 10, 2); función ajustar_costos_de_envio_por_peso($ratos, $paquete) { $peso_total = WC()->carrito->obtener_peso_del_contenido_del_carrito(); si ($peso_total > 10) { foreach ($rates como $rate_id => $rate) { $rates[$rate_id]->costo += 7.00; // Costos de envío adicionales para paquetes pesados } } return $rates; }  

Leer más

Ocultar productos en la categoría “Rebajas”

add_action('pre_get_posts', 'excluir_productos_de_categoría_de_venta'); función excluir_categoría_venta_productos($query) { if (is_shop() && $query->is_main_query()) { $query->set('consulta_impuestos', array( array( 'taxonomía' => 'categoría_producto', 'campo' => 'slug', 'términos' => 'venta', 'operador' => 'NO ESTÁ EN', ), )); } }  

Leer más

Envío gratuito para pedidos superiores a un importe determinado

add_filter('woocommerce_shipping_el_envío_gratuito_está_disponible', 'envío_gratuito_por_encima_del_umbral', 10, 2); función envío_gratis_por_encima_del_umbral($está_disponible, $paquete) { $umbral_de_envío_gratis = 75; // Importe a partir del cual el envío es gratuito $cart_total = WC()->cart->get_cart_contents_total(); si ($cart_total >= $umbral_de_envío_gratis) { $está_disponible = verdadero; } devolver $is_available; }  

Leer más

Establezca una cantidad mínima de pedido para la entrega gratuita

La función set_free_shipping_minimum() en WooCommerce verifica si el valor del carrito de compras del cliente ha alcanzado el valor mínimo de pedido para envío gratuito. Si el valor del carrito está por debajo del valor mínimo del pedido, se mostrará un mensaje de error informando al cliente que debe alcanzar el valor mínimo del pedido para recibir el envío gratuito. El valor mínimo del pedido se puede cambiar en la función mediante […]

Leer más