title: Temporarily Remove Cancel Button if Subscription Active less than 3 months
body: <p>I am in need of some help temporarily removing the cancel button in the "My Subscription" page within "My Account". I would like to <strong>hide the cancel button until it has been at least 3 months</strong> (or 90days) since the user has subscribed. Where after they have been subscribed for 3 months, the cancel button will appear again.</p>
  
  <p>Using: Woocommerce together with Woo-subscriptions and Woo-memberships</p>
  
  <p><em>I have found another question where this has been answered, but I cannot seem to get the code to work no matter how much I edit it (<a href="https://stackoverflow.com/questions/58486397/disable-cancel-subscription-for-single-subscription-in-woocommerce">Disable Cancel Subscription for single subscription in WooCommerce</a>). <strong>The first snippet of code below is from the link</strong>.</em></p>
  
  <pre><code>function sv_edit_my_memberships_actions( $actions ) {
      // Get the current active user
      $user_id = wp_get_current_user();
  
      if(!$user_id) // No valid user, abort
          return $actions;
  
      // Only query active subscriptions
      $memberships_info = wc_memberships_get_user_active_memberships($user_id, array( 
          'status' =&gt; array( 'active' ),
      ));
  
      // Loop through each active subscription
      foreach ($memberships_info as $membership) {
          $subscription_start_date = date("Y/m/d", strtotime($membership-&gt;get_start_date()));
          //$subscription_end_date = date("Y/m/d", strtotime($membership-&gt;get_end_date()));
          //$subscription_name = $membership-&gt;get_plan()-&gt;get_name();
          //$subscription_id = $membership-&gt;get_plan()-&gt;get_id();
  
          if($subscription_id == 'YOUR_ID') { // Active subscription
              // Compare the starting date of the subscription with the current date
              $datetime1 = date_create($subscription_start_date);
              $datetime2 = date_create(date(time()));
  
              $interval = date_diff($datetime1, $datetime2);
  
              if($interval-&gt;format('%m') &lt;= 11) {
                  // remove the "Cancel" action for members
                  unset( $actions['cancel'] );
              }
          }
      }
     return $actions;
  }
  </code></pre>
  
  <p>I have been able to hide the cancel button with my code below, however it hides it indefinitely:</p>
  
  <pre><code>function remove_cancel_button( $actions, $subscription ) {
  
          foreach ( $actions as $action_key =&gt; $action ) {
            switch ( $action_key ) {
              case 'cancel':          // Remove the cancel button
                  unset( $actions[ $action_key ] );
                  break;
              default: 
                  error_log( '-- $action = ' . print_r( $action, true ) );
                  break;
            }
          }
  
          return $actions;
      }
      add_filter( 'wcs_view_subscription_actions', 'remove_cancel_button', 100, 2);
  </code></pre>