Display WooCommerce subscriptions for user [closed]

I’m trying to display a user’s Subscriptions within their WooCommerce dashboard. I am able to do this, but I also want to add some additional fields related to the Subscription (title, next renewal date, expiration date, and current subscription status). But I’m having a hard time pulling in the data. Here is what I have so far:

add_action( 'woocommerce_account_dashboard', 'my_dashboard_subscriptions' );
function my_dashboard_subscriptions() {
    $user_id = get_current_user_id();
    echo '<h3>Current Subscriptions</h3>';

    // Get all of their subscriptions
    $subscriptions = get_posts( array(
        'numberposts' => -1,
        'post_type'   => 'shop_subscription', // Subscription post type
        'post_status' => 'wc-active', // Active subscription
        'order' => 'ASC',
        'meta_key'    => '_customer_user',
        'meta_value'  => $user_id,
    ) );

    // Displaying list in an html table
    echo "<table class="shop_table subscription_list">
        <tr>
            <th>Title</th>
            <th>Status</th>
            <th>Renew Date</th>
            <th>End Date</th>
            <th>Subscriber</th>
        </tr>
            ";
    // Going through each current customer orders
    foreach ( $subscriptions as $subscription ) {
        $subscription_id = $subscription->ID; // subscription ID
        $subscr_meta_data = get_post_meta($subscription->ID);
        $customer_name = $subscr_meta_data['_billing_first_name'][0] . ' ' . $subscr_meta_data['_billing_last_name'][0];

        echo "</tr>
                <td>$subscription_title - #$subscription_id</td>
                <td>$renew_date</td>
                <td>$end_date</td>
                <td>$sub_status</td>
                <td>$customer_name</td>
            </tr>";
    }
    echo '</table>';

}

I am trying to add the Subscription’s title, current status, renewal date, and expiration date.

But most methods that I’ve tried, to grab those fields, it didn’t work. Any ideas?

0

Leave a Comment