'How to display user's WooCommerce subscription details?

I have created a custom page template and I want to display specific details of user's subscription (e.g. subscription starting date).

The available hook on 'my account' page displays this but I don't know how to dismantle the output of the hook or even merely displaying it on a page template.

Any help would be appreciated!



Solution 1:[1]

Add the following code in functions.php of the active theme.

add_shortcode('wdm_my_subscription', 'wmd_my_custom_function');
function wmd_my_custom_function(){
    WC_Subscriptions::get_my_subscriptions_template();
}

Now use [wdm_my_subscription] as a shortcode on the page where you want to display the User's subscription.

Screenshots:

Without Shortcode: enter image description here

Adding shortcode: enter image description here

Result:

enter image description here

If you need to modify the output of this you might need to copy the contains of get_my_subscriptions_template() function WC_Subscriptions class of the WooCommerce subscription Plugin and use it in this shortcode instead which will help you to add the details you want.

Solution 2:[2]

After a recent update in the Woocommerce Subscriptions plugin in WordPress

WC_Subscriptions::get_my_subscriptions_template(); is appreciated and it is replaced by new function,

so the old code needs to be updated and the following code needs to be used to create Shortcode to show users subscription

new function should be

add_shortcode('wdm_my_subscription', 'wmd_my_custom_function');
function wmd_my_custom_function(){
   WCS_Template_Loader::get_my_subscriptions();
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2