Easy Modification of Free Shipping Threshold in WooCommerce
Objaśnienie
Chcesz dostosować ustawienia darmowej wysyłki w WooCommerce? Oto prosty sposób, aby to zrobić!
Zmień próg darmowej wysyłki:
- Ten kod pozwala ustawić nową minimalną kwotę zakupu dla darmowej wysyłki. Po prostu zmień wartość $new_threshold na dowolną kwotę, którą preferujesz. Na przykład, jeśli chcesz, aby darmowa wysyłka dotyczyła zamówień powyżej 100 $, ustaw $new_threshold = 100;.
- Kod sprawdza całkowitą wartość koszyka i usuwa opcję darmowej wysyłki, jeśli całkowita kwota jest poniżej ustalonego progu.
Wyklucz niektóre produkty z darmowej wysyłki:
- Jeśli masz konkretne produkty, które nie powinny kwalifikować się do darmowej wysyłki, możesz je wykluczyć, dodając ich identyfikatory produktów do tablicy $excluded_product_ids.
- Upewnij się, że zastępujesz 123, 456 rzeczywistymi identyfikatorami produktów, które chcesz wykluczyć.
- Kod przypisuje te produkty do innej klasy wysyłkowej, zapewniając, że nie otrzymają darmowej wysyłki.
Dzięki tym modyfikacjom możesz łatwo kontrolować, które zamówienia kwalifikują się do darmowej wysyłki i wykluczać konkretne produkty w razie potrzeby. Po prostu skopiuj kod do pliku functions.php swojego motywu, a wszystko będzie gotowe!
Kod
<?php
// Hook into WooCommerce to modify the free shipping threshold
add_filter('woocommerce_package_rates', 'wp_dudecom_modify_free_shipping_threshold', 10, 2);
/**
* Modify the free shipping threshold in WooCommerce.
*
* @param array $rates Array of available shipping rates.
* @param array $package The package array containing cart details.
* @return array Modified array of shipping rates.
*/
function wp_dudecom_modify_free_shipping_threshold($rates, $package) {
// Define the new free shipping threshold amount
$new_threshold = 100; // Set your desired threshold amount here
// Loop through each shipping rate
foreach ($rates as $rate_id => $rate) {
// Check if the rate is free shipping
if ('free_shipping' === $rate->method_id) {
// Get the cart total
$cart_total = WC()->cart->get_displayed_subtotal();
// Check if the cart total meets the new threshold
if ($cart_total < $new_threshold) {
// Remove free shipping if the cart total is below the threshold
unset($rates[$rate_id]);
}
}
}
return $rates;
}
// Hook to exclude specific products from free shipping
add_filter('woocommerce_cart_shipping_packages', 'wp_dudecom_exclude_product_from_free_shipping');
/**
* Exclude specific products from free shipping.
*
* @param array $packages Array of shipping packages.
* @return array Modified array of shipping packages.
*/
function wp_dudecom_exclude_product_from_free_shipping($packages) {
// Define product IDs to exclude from free shipping
$excluded_product_ids = array(123, 456); // Replace with your product IDs
foreach ($packages as &$package) {
foreach ($package['contents'] as $key => $item) {
// Check if the product is in the excluded list
if (in_array($item['product_id'], $excluded_product_ids)) {
// Set the shipping class to a non-free shipping class
$package['contents'][$key]['data']->set_shipping_class_id(0); // Replace 0 with the ID of a non-free shipping class
}
}
}
return $packages;
}
?>
Instrukcja
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub do pliku niestandardowej wtyczki.
Wymagania wstępne:
- Upewnij się, że WooCommerce jest zainstalowane i aktywowane na Twojej stronie WordPress.
- Miej dostęp do plików motywu WordPress lub możliwość stworzenia niestandardowej wtyczki.
Kroki wdrożenia:
- Dostęp do panelu WordPress: Zaloguj się do panelu administracyjnego WordPress.
- Przejdź do Edytora motywu: Przejdź do Wygląd > Edytor motywu. Jeśli wolisz użyć niestandardowej wtyczki, przejdź do Wtyczki > Dodaj nową i stwórz nową wtyczkę.
- Otwórz functions.php: W Edytorze motywu zlokalizuj i otwórz plik
functions.php
swojego aktywnego motywu. Jeśli używasz wtyczki, otwórz plik swojej wtyczki. - Skopiuj i wklej kod: Wstaw podany fragment kodu do pliku
functions.php
lub do pliku swojej wtyczki. - Zmodyfikuj próg darmowej wysyłki: Zmień wartość
$new_threshold
na pożądaną kwotę, aby kwalifikować się do darmowej wysyłki. - Wyklucz konkretne produkty: Zaktualizuj tablicę
$excluded_product_ids
o identyfikatory produktów, które chcesz wykluczyć z darmowej wysyłki. - Zapisz zmiany: Kliknij przycisk Aktualizuj plik, aby zapisać swoje zmiany.
- Przetestuj swoje zmiany: Dodaj produkty do koszyka i zweryfikuj, czy próg darmowej wysyłki oraz wykluczenia działają zgodnie z oczekiwaniami.
Postępując zgodnie z tymi krokami, możesz łatwo dostosować próg darmowej wysyłki i wykluczyć konkretne produkty z darmowej wysyłki w WooCommerce. Jeśli potrzebujesz dalszej pomocy lub chcesz zbadać bardziej zaawansowane funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.