WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › affichage des modes de paiements conditionnels selon les roles
Étiqueté : Paiement
- Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par
Anonyme, le il y a 4 années et 2 mois.
-
AuteurMessages
-
12 août 2021 à 15 h 16 min #257743
bonjour,
je souhaite proposer seulement le mode de paiement par chèque pour les clients ayant le role « clients_commerciaux ». Pour les autres clients je souhaite proposer les modes de paiements par CB (plegd dans mon cas) mais pas le chèque. Je veux éviter de devoir prendre une extension payante ( je sais que Booster qui fait cela)
j’ai trouvé un script php à afficher sur le fichier config.php qui permet un affichage des modes de paiement conditionnel selon le role. Le problème est qu’ il ne répond pas pleinement à mon besoin (il affiche quand même le mode de paiement CB pour les clients ayant le role « clients-commerciaux ». or je ne veux pas
je ne suis pas assez à l’aise avec php pour l’adapter à mes besoins. Est ce qu’un ame charitable peut me donner un coup de main soit en m’indiquant une extension gratuite qui répond à mes besoins ou en modifiant le script php que j’ai trouvé ?
le script :
add_filter(‘woocommerce_available_payment_gateways’, ‘dmkt_filter_gateways’);
function dmkt_filter_gateways($gateway_list){
global $woocommerce;if (!current_user_can(‘clients_commerciaux’) ){
unset($gateway_list[‘cheque’]);
}
return $gateway_list;
}En vous remerciant par avance pour votre aide et bienveillance
Have fun with WordPress16 août 2021 à 8 h 37 min #259240Anonyme
InactifPoints: 0 pts
Bonjour,
Dans ces cas là vous pouvez ajouter à la suite de votre code :
if (!current_user_can(‘clients_commerciaux’) ){
unset($gateway_list[‘cheque’]);
}else{
unset($gateway_list[‘cb’]);
}
return $gateway_list;
}Je ne sait pas si la clé « cb » est reconnu, mais vous pourrez surement le voir dans votre fichier config. En gros le code dit : Si le client actuel n’est pas un client commercial, alors tu enlève l’option paiement par chèque, sinon tu enlève le paiement par CB, et tu affiche le moyen restant.
si vous voulez plus de précisions dans la condition, vous pouvez remplacer « else » par : « else if (current_user_can(‘clients_commerciaux’) »
Have fun with WordPress17 août 2021 à 13 h 10 min #259845super, merci beaucoup
Have fun with WordPress18 août 2021 à 8 h 25 min #260127Anonyme
InactifPoints: 0 pts
Avec plaisir, n’hésitez pas à nous partager la clé avec laquelle vous avez pu cibler le paiement par carte bancaire, ça pourrait servir à d’autres membres de la communauté.
Excellente continuation à vous
Have fun with WordPress -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.
