• 06-06-2024, 11:17:24
    #1
    Merhabalar,

    Wordpress kategorisinde sizlere bu tarz birçok bilgilendirme ve işinize yarayacak maddeler paylaşmaya devam edeceğim. Aşağıda belirttiğim kod ile e-ticaret sitenizde ilk alışverişi gerçekleştiren müşterilerinize özel % olarak indirim belirleyebilirsiniz. Aşağıda verdiğim örnekte %10 indirim kullandım.

    İndirim oranını değiştirmek için kodda yer alan // Kullanıcının ilk siparişi olup olmadığını kontrol et 'nın altında 0.10 kısımını kendi indirim oranınıza göre güncelleme yapabilirsiniz.

    function apply_discount_for_first_purchase( $cart ) {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
            return;
        }
    
        $user_id = get_current_user_id();
        
        // Kullanıcının önceden sipariş verip vermediğini kontrol et
        $args = array(
            'customer_id' => $user_id,
            'status' => array( 'wc-completed' ),
        );
        $orders = wc_get_orders( $args );
        
        // Kullanıcının ilk siparişi olup olmadığını kontrol et
        if ( empty( $orders ) ) {
            // %10 indirim uygula
            $discount = $cart->subtotal * 0.10;
            $cart->add_fee( 'İlk Alışveriş İndirimi', -$discount );
        }
    }
    add_action( 'woocommerce_cart_calculate_fees', 'apply_discount_for_first_purchase' );
    
    function custom_apply_discount_message() {
        $user_id = get_current_user_id();
        
        // Kullanıcının önceden sipariş verip vermediğini kontrol et
        $args = array(
            'customer_id' => $user_id,
            'status' => array( 'wc-completed' ),
        );
        $orders = wc_get_orders( $args );
    
        // Kullanıcının ilk siparişi olup olmadığını kontrol et
        if ( empty( $orders ) ) {
            wc_print_notice( 'İlk alışverişinize özel %10 indirim uygulandı!', 'success' );
        }
    }
    add_action( 'woocommerce_before_cart', 'custom_apply_discount_message' );
    add_action( 'woocommerce_before_checkout_form', 'custom_apply_discount_message' );
    Aşağıdaki kod ise IP adresini sınırlandırarak müşterilerinizin yeni hesap kurup daha fazla indirimden faydalanmalarını engelleyebilirsiniz.

    function get_user_ip() {
        if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
            return $_SERVER['HTTP_CLIENT_IP'];
        } elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
            return $_SERVER['REMOTE_ADDR'];
        }
    }
    
    function apply_discount_for_first_purchase( $cart ) {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
            return;
        }
    
        $user_id = get_current_user_id();
        $user_ip = get_user_ip();
        
        // Kullanıcının önceden sipariş verip vermediğini kontrol et
        $args = array(
            'customer_id' => $user_id,
            'status' => array( 'wc-completed' ),
        );
        $orders = wc_get_orders( $args );
    
        // IP adresinin daha önce indirim alıp almadığını kontrol et
        $discounted_ips = get_option( 'discounted_ips', array() );
    
        if ( empty( $orders ) && ! in_array( $user_ip, $discounted_ips ) ) {
            // %10 indirim uygula
            $discount = $cart->subtotal * 0.10;
            $cart->add_fee( 'İlk Alışveriş İndirimi', -$discount );
    
            // IP adresini sakla
            $discounted_ips[] = $user_ip;
            update_option( 'discounted_ips', $discounted_ips );
        }
    }
    add_action( 'woocommerce_cart_calculate_fees', 'apply_discount_for_first_purchase' );
    
    function custom_apply_discount_message() {
        $user_id = get_current_user_id();
        $user_ip = get_user_ip();
        
        // Kullanıcının önceden sipariş verip vermediğini kontrol et
        $args = array(
            'customer_id' => $user_id,
            'status' => array( 'wc-completed' ),
        );
        $orders = wc_get_orders( $args );
    
        // IP adresinin daha önce indirim alıp almadığını kontrol et
        $discounted_ips = get_option( 'discounted_ips', array() );
    
        if ( empty( $orders ) && ! in_array( $user_ip, $discounted_ips ) ) {
            wc_print_notice( 'İlk alışverişinize özel %10 indirim uygulandı!', 'success' );
        }
    }
    add_action( 'woocommerce_before_cart', 'custom_apply_discount_message' );
    add_action( 'woocommerce_before_checkout_form', 'custom_apply_discount_message' );
    Bu tarz ve benzeri içerikleri paylaşmaya devam edeceğim.

    Wordpress veya Woocommerce ile ilgili işlerinizi ve danışmak istediklerinizi aşağıdaki WhatsApp numarasından ve Telegram hesabımdan ulaşarak destek alabilirsiniz.
    Whatsapp: https://wa.me/905318154620
    Telegram: https://t.me/btnaslan
  • 06-06-2024, 11:22:13
    #2
    🥇R10'un En İyi Ajansı 🥇
    Eline sağlık hocam hazır kod bankası kategorisine açabilirsin konularınızı
  • 06-06-2024, 11:23:48
    #3
    TPKmedya adlı üyeden alıntı: mesajı görüntüle
    Eline sağlık hocam hazır kod bankası kategorisine açabilirsin konularınız
    Teşekkür ederim hocam. En uygun kategoriyi burayı görünce burada açtım sonraki konularımda dikkat ederim