WooCommerce Subscriptions - Get product of a specific subscription

Casey Crookston picture Casey Crookston · Jun 29, 2017 · Viewed 9.6k times · Source

Is there a way to get from $product from $subscription?

Thanks to this post, I know that from $subscription I can get $order:

$order = $subscription->order;

Is this also possible?

$product = $subscription->product;

Or:

$product = $order->product;

Answer

Alex picture Alex · Sep 19, 2018

Get product from woocommerce subscription full code with examples of use:

if ( sizeof( $subscription_items = $subscription->get_items() ) > 0 ) {
    foreach ( $subscription_items as $item_id => $item ) {
        $product = $item->get_product();

        //Examples of use
        $product->get_id();
        $product->get_sku();
        $product->get_image('post-thumbnail', ['class' => 'alignleft'], false); // main image

        $product_id = wcs_get_canonical_product_id( $item ); // get product id directly from item
    }
}