Code cacher virement bancaire selon role (Créer un compte)

  • WordPress :5.5
  • Statut : non résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #2358247
    kate66
    Participant
    Padawan WordPress
    90 contributions

    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.

    #2358276
    kate66
    Participant
    Padawan WordPress
    90 contributions

    Bonjour,

    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.

2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.