How do I use wc() in woocommerce?

I’m working on using the wc() function in woocommerce. The documentation says it Returns the main instance of WC to prevent the need to use globals.

I can’t find any examples of the use of this and I would like to know how to use wc() to do some basic things. I understand that it returns the main woocommerce instance; and from that I can extract all the data I would need; but I don’t know the syntax for correct use … might it be something like?

Read More
$foo = WC();
$bar = $foo->cart;
echo $bar;

could someone please correct this.

Also I am trying to understand what the advantages of doing it this way instead of globalizing variables.

Related posts

Leave a Reply

2 comments

  1. as what the doc in your link says. ‘prevent the need to use globals’. An example would be like this…

    code using global.

    global $woocommerce;
    $customer_country = $woocommerce->customer->get_country();
    

    code not using global

    $customer_country = WC()->customer->get_country(); 
    // some servers may not like like this... best is to use variables like $foo = WC(); then use $foo->customer->get_country()...
    

    How to use WC() ? start here

    why must I avoid global?

  2. WC() is just a function that returns an instance of the woocommerce class.

    1) make sure you include the reference to the file where the function is located (see how to do that here) :

    include_once WP_PLUGIN_DIR .'/woocommerce/woocommerce.php';
    

    2) once you have that you can just add a local variable pointing to the current woocommerce instance:

    $myWC = WC();
    
    $myWC->cart->calculate_fees();