0

I wonder if is there some method from WC_Memberships_User_Membership class to get a link to cancel membership.

The way I'm getting the url takes me to the woocommerce my-account/memberships page, not to the real action of cancel subscription.

<?php
$memberships = wc_memberships_get_user_memberships();               
if ( $memberships ) {
    foreach( $memberships as $membership ) {
        echo '<p>Plan: ' . $membership->plan->name . '</p>';
        echo '<p>Since: ' . $membership->get_start_date('d-m-Y') . '</p>';
        echo '<p>Until: ' . $membership->get_end_date('d-m-Y') . '</p>';
        $url = 'https://poesicilina.com/?cancel_membership=' . $membership->id;
        echo '<p><a href="' . $url . '">Cancel membership</a></p>';
    }
}
mikelweb
  • 113
  • 1
  • 7

1 Answers1

1
<?php
function  cancelbutton(){   
$user_id = get_current_user_id();

$memberships = wc_memberships_get_user_active_memberships($user_id);

foreach ($memberships as $membership => $val) {

$url = $val->get_cancel_membership_url();
echo "<a href='$url'>Cancel</a>";
};

add_shortcode( 'cancelbutton', 'cancelbutton' ); ?>

Use shortcode [cancelbutton]

Rocío
  • 11
  • 1