0

I'm having issues adding coupon discounts via code. I'm getting this error

Fatal error: Call to a member function add_discount() on a non-object in C:\xampp\htdocs\teachingyounet\wp-content\themes\responsive\functions.php on line 43

My code:

function zkr_add_discount(){
    global $woocommerce;
    global $total_weight;

    if (current_user_can('distributor') || current_user_can('administrator')) {
        //do stuff for administrator roles
        wp_get_current_user();

        //$coupon = $current_user->cimy_uef_COUPON;
        $coupon = get_the_author_meta( 'cimy_uef_COUPON', $current_user->ID );
        //$wc = new  WC_Cart;
        //print_r($wc->coupons_enabled());die;
        //if($wc->coupons_enabled())
        /*$code = $coupon;
            $the_coupon = new WC_Coupon( $code );*/
        //$wc->add_discount('testcoupon'); //sanitize_text_field( $coupon )

        if (!$woocommerce->cart->add_discount( sanitize_text_field( $coupon ))){
            $woocommerce->show_messages();
        }


    }
} 

I thought I had the answer but I was wrong :(

Thanks in advance.

DragonSlayer
  • 817
  • 3
  • 14
  • 26

1 Answers1

0

maybe you call add_discount before the cart has been initialized? Try to use:

    add_action( 'init', 'zkr_add_discount' );

in your functions.php

Bass Jobsen
  • 48,736
  • 16
  • 143
  • 224