- WordPress :5.5
- Statut : non résolu
- Ce sujet contient 1 réponse, 1 participant et a été mis à jour pour la dernière fois par
kate66, le il y a 4 années et 6 mois.
2 sujets de 1 à 2 (sur un total de 2)
-
AuteurMessages
-
3 novembre 2020 à 12 h 34 min #2358247
Bonjour,
je souhaite pour chaque role afficher un virement bancaire.
J’ai donc installé ce module :
https://fr.wordpress.org/plugins/fr-multi-bank-transfer-payment-gateways-for-woocommerce/
il a permit de rajouter de transfert banque des mes groupes.
Mais pour les associer a chaque groupe je penser les cacher lors de la connexion d’un groupe ce qui ne lui sont pas utile.
Ex groupe casino -> rib casino etc…
voici le code mais il ne fonctionne pas il affiche toujours le 1 transfert bank seulement.
function ts_disable_by_role_carrrefour( $available_payment_gateways ) {
//Check whether the available payment gateways have the Cash on delivery option and if the user is not logged in or has the role customer
$user = wp_get_current_user();
$allowed_roles = array('Groupe-Carrefour');
if (!array_intersect($allowed_roles, $user->roles )) {
/*if (isset($available_payment_gateways['bank_transfer_1']))
{*/
unset($available_payment_gateways['bank_transfer_2']);
unset($available_payment_gateways['bank_transfer_3']);
unset($available_payment_gateways['bank_transfer_4']);
unset($available_payment_gateways['bank_transfer_5']);
/*}*/
}
return $available_payment_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'ts_disable_by_role_carrrefour', 90, 1);
function ts_disable_by_role_casino( $available_payment_gateways ) {
//Check whether the available payment gateways have the Cash on delivery option and if the user is not logged in or has the role customer
$user = wp_get_current_user();
$allowed_roles = array('Groupe-Casino');
if (!array_intersect($allowed_roles, $user->roles )) {
unset($available_payment_gateways['bank_transfer_1']);
unset($available_payment_gateways['bank_transfer_3']);
unset($available_payment_gateways['bank_transfer_4']);
unset($available_payment_gateways['bank_transfer_5']);
}
return $available_payment_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'ts_disable_by_role_casino', 90, 1);Merci pour votre aide.
3 novembre 2020 à 15 h 56 min #2358276Bonjour,
j’ai testé avec un code mais celui-ci ne fonctionne pas rien ne s’affiche si je met les deux fonctions mais si j’en mit qu’une seule cela fonctionne :
function desactiver_transfertbank_role_casino( $available_payment_gateways ) {
$user_actuel = wp_get_current_user(); // pour l’utilisateur courant
/*$allowed_roles = array('groupe_intermarche','groupe_casino','groupe_intermarche');
if (array_intersect($allowed_roles, $user_actuel->roles )) {
*/
if($user_actuel->roles=='groupe_casino')
{
unset($available_payment_gateways['bank_transfer_1']);
unset($available_payment_gateways['bank_transfer_3']);
/*}*/
return $available_payment_gateways;
}
}
add_filter('woocommerce_available_payment_gateways', 'desactiver_transfertbank_role_casino', 90, 1);
function desactiver_transfertbank_role_carrefour( $available_payment_gateways ) {
$user_actuel = wp_get_current_user(); // pour l’utilisateur courant
/*si utilisateur d'un groupe carrefour*/
if($user_actuel->roles=='groupe_carrefour')
{
//Remove the stripe payment gateway
unset($available_payment_gateways['bank_transfer_2']);
unset($available_payment_gateways['bank_transfer_3']);
/*}*/
return $available_payment_gateways;
}
}
add_filter('woocommerce_available_payment_gateways', 'desactiver_transfertbank_role_carrefour', 90, 1);merci pour votre aide.
-
AuteurMessages
2 sujets de 1 à 2 (sur un total de 2)
- Vous devez être connecté pour répondre à ce sujet.