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', ), )); } }
Categoría: WordPress
Complementos(37)
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; }
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); } }
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; }
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', ), )); } }
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; }
Incrustar archivo CSS personalizado:
add_action('wp_enqueue_scripts', 'estilos_personalizados'); función custom_styles() { wp_enqueue_style('estilo-personalizado', get_stylesheet_directory_uri() . '/custom.css'); }
Desactivar las reseñas de clientes en la página del producto
remove_action('resumen_de_producto_único_woocommerce', 'calificación_única_de_plantilla_woocommerce', 10);
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 […]
Mostrar el estado del pedido en los correos electrónicos de pedidos
add_filter('woocommerce_email_order_meta_keys', 'mostrar_el_estado_del_pedido_en_los_correos_electrónicos'); función mostrar_estado_del_pedido_en_correos_electrónicos($keys) { $keys[] = '_estado_del_pedido'; devuelve $keys; }