web-dev-qa-db-fra.com

Fonction correcte pour obtenir le dernier abonnement Woocommerce de l'utilisateur?

J'ai un site réservé aux membres, où le membre ne peut avoir qu'un seul abonnement actif, et je dois pouvoir obtenir le statut de l'abonnement.

J'ai parcouru toute la documentation et découvert la fonction wcs_get_users_subscriptions(), qui renvoie un tableau de tous les produits d'abonnement pour l'utilisateur donné, dans l'ordre inverse des dates (c'est-à-dire, le plus récent est toujours le premier).

Je me suis installé sur ce code qui, tant que ça marche, je sais que c'est absolument la mauvaise façon de le faire:

$subs = wcs_get_users_subscriptions( $user_id );
$subs = (object) array_shift( $subs );
$subs = (object) $subs->data;
$return = $subs->status;

Est-ce que quelqu'un sait la bonne façon?

1
Peter HvD

utiliser ce code

$users_subscriptions = wcs_get_users_subscriptions($user_id);

récupérer les données en utilisant foreach

foreach ($users_subscriptions as $subscription){
  if ($subscription->has_status(array('active'))) {
         echo $subscription->get_id(); 
  }
}

Certaines fonctions permettent d’accéder aux données d’abonnement. comme get_id (), get_date ('end') (pour obtenir la dernière date d'abonnement).

J'espère que ça vous aidera bien.

0
dev_ramiz_1707