Vérifier si l’utilisateur dispose d’un abonnement actif pour WooCommerce Subscriptions

Si vous conjuguez la puissance de WooCommerce avec l'extension WooCommerce Subscriptions vous serez en mesure de vendre des abonnements à vos membres.

C’est le système que nous avons mis en place sur le site de la communauté WPFR pour les adhésions. Un besoin courant consiste à vérifier qu’un utilisateur dispose d’un abonnement actif afin de lui donner l’accès à des informations privées.

Pour s’assurer que l’utilisateur connecté sur votre site dispose d’un abonnement en règle, vous devez utiliser la condition suivante dans votre code :

<?php if (wcs_user_has_subscription('', 10, 'active')) : // Replace 10 by WooCommerce Subscription Product ID ?>
	<?php _e('Hello World', 'textdomain'); ?>
<?php else : ?>
	<p><?php _e('Sorry you have to be an active subscriber to get access.', 'textdomain'); ?></p>
<?php endif; ?>

Dans l’exemple ci-dessous, nous affichons le texte Hello World si l’utilisateur connecté dispose d’un abonnement actif. Si tel n’est pas le cas alors nous l’informons qu’il ne dispose pas des autorisations nécessaires.

Pour appliquer cette technique sur votre projet, remplacez l’identifiant produit par le vôtre – 10 dans cet exemple. Il peut être obtenu facilement en survolant le produit dans la section WooCommerce de votre administration WordPress.

Le code présenté ici reste très basique afin de comprendre le fonctionnement de la condition. Libre à vous de combiner ce dernier avec d’autres fonctions PHP de WordPress.

WooCommerce Subscriptions fait parti de ma liste d’extensions favorites pour WooCommerce, et vous ?

Par Aurélien Denis

Consultant & Développeur WordPress / WooCommerce. Un site à créer, à maintenir ou à débuguer ? Contactez-moi.

Des tutoriels et des bons plans en exclusivité !
  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.
11 commentaires
  1. Raphael

    Un article qui tombe a point nommé, pile au moment ou je travail sur cette problématique ????
    Dis moi Aurélien, je cherche à faire un site de new uniquement sur abonnement.
    – Un visiteur lambda ne verra que les titres et un résumé.
    – Les abonnés pourront quand à eux lire l’intégralité des articles et accéder à d’autres contenus.
    Crois tu que WooCommerce Subscriptions puisse gérer des roles ?

    1. Aurélien Denis auteur de l’article

      Pour répondre à ton besoin, tu devrais coupler WooCommerce Subscriptions pour la gestion des abonnements à WooCommerce Memberships pour la restriction d’accès aux contenus. 😉

      1. Raphael

        Ah en effet, ça semble une bonne idée ! Merci bcp ????
        Et sais tu si il y a des possibilités d’offrir une version d’essai d’un mois (par ex) puis d’envoyer automatiquement un email pour encourager a prendre un abonnement ?
        J’ai vu ce plugin https://automatewoo.com qu’en penses tu ?

        1. Aurélien Denis auteur de l’article

          Oui c’est possible ! Je connais pas l’extension mentionnée par contre.

  2. picpool

    Bonjour

    J’utilise ce code dans mon sidebar.php mais il ne fonctionne que sur la homepage c ‘est bizarre non ?
    merci

    1. Aurélien Denis auteur de l’article

      Tout dépend où la sidebar est appelée.

  3. Eric

    Bonjour,
    je vais très prochainement ouvrir mon e-commerce. Je travaille actuellement sur le site et j’ai quelques interrogations:
    Je souhaite proposer une formule d’abonnement (non obligatoire)
    Du coup, si le client souscrit à l’abonnement annuel, il aura des réductions sur chaque produit. Celui qui ne souscrira pas paiera donc le produit au prix réel. Est-il simple de faire cette manipulation en installant le plug-in woocommerce subscriptions?
    Je souhaite que le client puisse voir les deux tarifs proposés et ainsi visualiser l’économie realisée sur chaque produit puis sur son bon de commande global. Je ne trouve pas de tuto (ou peut-être ai-je mal cherché)

    J’espère que mon message est suffisamment clair, car peut-être doit -on utiliser des mots plus ‘techniques’ mais ceux_là ne me viennent pas spontanément

    Merci à celui ou celle qui pourra me répondre.
    J’espère aussi que j’ai posté au bon endroit

    Eric

    1. Aurélien Denis auteur de l’article

      Je vous conseille de combiner WooCommerce Subscriptions avec une extension de tarification de prix dynamique comme Dynamic Pricing (ou équivalente) pour faire cela.

      1. Eric

        Ok Aurélien, auriez-vous un lien à me proposer pour rajouter cette extension? ce ne sera pas trop compliqué à gérer? existe t-il des tuto? Merci en tout cas pour votre réponse

Laisser un commentaire