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); // Kategorien, die ausgeschlossen werden sollen $query->set(‘tax_query’, array( array( ‘taxonomy’ => ‘product_cat’, ‘field’ => ‘id’, ‘terms’ => $excluded_categories, ‘operator’ => ‘NOT IN’, ), )); } }
Kategorie: WordPress
Plugins(37)
Produktpreis basierend auf Benutzerstandort ändern
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; }
Gutscheincode basierend auf Produktkategorie anwenden
add_action(‘woocommerce_before_cart’, ‘apply_coupon_based_on_category’); function apply_coupon_based_on_category() { $coupon_code = ‘CATEGORYCODE’; // Gutscheincode für bestimmte Kategorie $target_category = ‘sale’; // Name der Kategorie $cart = WC()->cart; $coupon_applied = false; foreach ($cart->get_cart() as $cart_item) { $product = $cart_item[‘data’]; if (has_term($target_category, ‘product_cat’, $product->get_id())) { $coupon_applied = true; break; } } if (!$coupon_applied) { $cart->apply_coupon($coupon_code); } }
Versandkosten basierend auf dem Gewicht der Produkte ändern
add_filter(‘woocommerce_package_rates’, ‘adjust_shipping_costs_by_weight’, 10, 2); function adjust_shipping_costs_by_weight($rates, $package) { $total_weight = WC()->cart->get_cart_contents_weight(); if ($total_weight > 10) { foreach ($rates as $rate_id => $rate) { $rates[$rate_id]->cost += 7.00; // Zusätzliche Versandkosten für schwere Pakete } } return $rates; }
Produkte in der Kategorie “Ausverkauf” ausblenden
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’, ‘terms’ => ‘sale’, ‘operator’ => ‘NOT IN’, ), )); } }
Versandkostenfrei ab einem bestimmten Betrag
add_filter(‘woocommerce_shipping_free_shipping_is_available’, ‘free_shipping_above_threshold’, 10, 2); function free_shipping_above_threshold($is_available, $package) { $free_shipping_threshold = 75; // Betrag, ab dem der Versand kostenlos ist $cart_total = WC()->cart->get_cart_contents_total(); if ($cart_total >= $free_shipping_threshold) { $is_available = true; } return $is_available; }
Benutzerdefinierte CSS-Datei einbinden:
add_action(‘wp_enqueue_scripts’, ‘custom_styles’); function custom_styles() { wp_enqueue_style(‘custom-style’, get_stylesheet_directory_uri() . ‘/custom.css’); }
Kundenbewertungen auf der Produktseite deaktivieren
remove_action(‘woocommerce_single_product_summary’, ‘woocommerce_template_single_rating’, 10);
Mindestbestellmenge für kostenlose Lieferung festlegen
Die Funktion set_free_shipping_minimum() in WooCommerce prüft, ob der Warenkorbwert des Kunden den Mindestbestellwert für kostenlosen Versand erreicht hat. Wenn der Warenkorbwert unter dem Mindestbestellwert liegt, wird eine Fehlermeldung ausgegeben, die den Kunden darüber informiert, dass er den Mindestbestellwert erreichen muss, um kostenlosen Versand zu erhalten. Der Mindestbestellwert kann in der Funktion geändert werden, indem der […]
Bestellstatus in Bestell-E-Mails anzeigen
add_filter(‘woocommerce_email_order_meta_keys’, ‘show_order_status_in_emails’); function show_order_status_in_emails($keys) { $keys[] = ‘_order_status’; return $keys; }