Bouton “Ajouter au panier” visible sous condition

  • WordPress :5.2
  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #2268734
    Elodie
    Participant
    Initié WordPress
    5 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.1
    • Thème utilisé : storefront
    • Extensions en place : woocommerce
    • Nom de l’hébergeur :
    • Adresse du site :

    Problème(s) rencontré(s) :

     

    Bonjour,

    Je souhaite que les bouton “Ajouter au panier” ne soient visible qu’à certaines conditions.

    Est-ce possible ?

    Merci pour votre aide

    #2268771
    Elodie
    Participant
    Initié WordPress
    5 contributions

    J’ai testé le code suivant, mais il fait tout disparaître au lieu de faire disparaitre seulement le bouton “ajouter au panier”.

    Une piste d’amélioration ?

    add_filter('woocommerce_is_purchasable', 'wpblog_balise_available');function wpblog_balise_available($purchaseable_product_wpblog, $items) {return ($items->device->ownedBy == deviceName ("") ? false : $purchaseable_product_wpblog);}

    Merci

    #2268784
    Elodie
    Participant
    Initié WordPress
    5 contributions

    Le code suivant fonctionne par contre j’ai un ralentissement significatif du site, quelqu’un pourrait-il me dire pourquoi ?

     

    add_filter('woocommerce_is_purchasable', 'wpblog_balise_available');
    function wpblog_balise_available($purchaseable_product_wpblog, $items) {
    
    include("recupData.php");
    
    $usedBalises = $data->result->data->getUser->owned->items;
    //var_dump($usedBalises);
    
    	if (!empty($usedBalises)) {
    		return ($usedBalises ? true : $purchaseable_product_wpblog);
    	}
    }

    #2269484
    ferman
    Participant
    Maître WordPress
    886 contributions

    Bonjour,

    Si vous êtes toujours intéressée vous pouvez plus simplement essayer le code suivant qui masque sous conditions (via  un  display:none) le bouton “ajouter au panier” (dans cet exemple  il est masqué pour les utilisateurs non inscrits). Si ça marche (chez moi ça marche), il faudra définir vos conditions. Par exemple vous pouvez permettre l’accès par rôles ou pour certains noms ou IDs d’utilisateurs…etc.

    function limit_cart_button_to_logged_in_users() {
    	if(!is_user_logged_in())
    		echo '<style> .cart{display:none;}</style>';}
    	
    add_action( 'woocommerce_before_add_to_cart_button', 'limit_cart_button_to_logged_in_users' );
    limiter accès au bouton

    ps. Difficile de dire pourquoi votre code ralentit votre site.

    • Cette réponse a été modifiée le il y a 1 mois et 1 week par  ferman.
    • Cette réponse a été modifiée le il y a 1 mois et 1 week par  ferman.
    • Cette réponse a été modifiée le il y a 1 mois et 1 week par  ferman.
4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.