• 29-04-2025, 21:40:11
    #1
    Fatbotter.com
    Merhabalar, ücretli ve ücretsiz kargo yöntemi eklediğinizde, ödeme ekranındayken, eğer ücretsiz kargo miktarı altında kaldıysanız sadece ücretli kargo seçeneği seçili geliyor ancak limit aştığınızda iki seçenek de görünüyor ama ücretli kargo seçili geliyor. Aşağıdaki örnekte ücretsiz gönderim için 500 TL ayarı yaptık.

    Örnek:



    Ancak sayfanın en altında vermiş olduğum kodu, temanızın functions.php dosyasına eklerseniz, ücretsiz kargo otomatik seçili gelecek ve ücretli kargo seçeneği gizlenecek.
    Bunu yapan eklenti var ancak bu tarz ufak çözümler için temaya geliştirme eklemek bana daha mantıklı geliyor. FTP şişmiyor ve genellikle daha az kod ile çözülüyor.





    Kodlar:

    function hide_shipping_when_free_is_available( $rates, $package ) {
        $new_rates = array();
        foreach ( $rates as $rate_id => $rate ) {
            // Only modify rates if free_shipping is present.
            if ( 'free_shipping' === $rate->method_id ) {
                $new_rates[ $rate_id ] = $rate;
                break;
            }
        }
        if ( ! empty( $new_rates ) ) {
            //Save local pickup if it's present.
            foreach ( $rates as $rate_id => $rate ) {
                if ('local_pickup' === $rate->method_id ) {
                    $new_rates[ $rate_id ] = $rate;
                    break;
                }
            }
            return $new_rates;
        }
        return $rates;
    }
    add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );
  • 29-04-2025, 21:43:28
    #2
    function hide_shipping_when_free_is_available( $rates, $package ) {
        $new_rates = array();
        foreach ( $rates as $rate_id => $rate ) {
            // Only modify rates if free_shipping is present.
            if ( 'free_shipping' === $rate->method_id ) {
                $new_rates[ $rate_id ] = $rate;
                break;
            }
        }
        if ( ! empty( $new_rates ) ) {
            //Save local pickup if it's present.
            foreach ( $rates as $rate_id => $rate ) {
                if ('local_pickup' === $rate->method_id ) {
                    $new_rates[ $rate_id ] = $rate;
                    break;
                }
            }
            return $new_rates;
        }
        return $rates;
    }
    add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );
  • 29-04-2025, 21:50:33
    #3
    Fatbotter.com
    onurnet adlı üyeden alıntı: mesajı görüntüle
    function hide_shipping_when_free_is_available( $rates, $package ) {
        $new_rates = array();
        foreach ( $rates as $rate_id => $rate ) {
            // Only modify rates if free_shipping is present.
            if ( 'free_shipping' === $rate->method_id ) {
                $new_rates[ $rate_id ] = $rate;
                break;
            }
        }
        if ( ! empty( $new_rates ) ) {
            //Save local pickup if it's present.
            foreach ( $rates as $rate_id => $rate ) {
                if ('local_pickup' === $rate->method_id ) {
                    $new_rates[ $rate_id ] = $rate;
                    break;
                }
            }
            return $new_rates;
        }
        return $rates;
    }
    add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );
    Sanırım direkt woocommerce ücretsiz kargo ayarının kendisinden alıyor. Bu kodu ilk mesajıma ekliyorum daha kısa kod. Teşekkürler paylaşım için. Keşke benden önce paylaşsaydınız.
  • 29-04-2025, 21:52:06
    #4
    lookout adlı üyeden alıntı: mesajı görüntüle
    Sanırım direkt woocommerce ücretsiz kargo ayarının kendisinden alıyor. Bu kodu ilk mesajıma ekliyorum daha kısa kod. Teşekkürler paylaşım için. Keşke benden önce paylaşsaydınız.
    ben yıllardır kullanıyorum hocam 🙂
  • 29-04-2025, 21:53:19
    #5
    Fatbotter.com
    onurnet adlı üyeden alıntı: mesajı görüntüle
    ben yıllardır kullanıyorum hocam 🙂
    Bravo kendinizi ispatladınız hocam. Ben yapay zekaya şimdi yazdırdım.
  • 02-05-2025, 22:34:10
    #6
    @lookout Hocam şu bölümede birşey yapabilir miyiz? Gönderim bedeli hesapla bölümünü kapatabilir miyiz.