Comment puis-je changer le rôle d'un utilisateur après avoir acheté dans une catégorie spécifique de WooCommerce (en utilisant functions.php) ?

  

4
Début du sujet

Est-il possible de changer le rôle d'un utilisateur après qu'il ait acheté un produit dans une catégorie spécifique de WooCommerce en utilisant un extrait de code dans le fichier functions.php ?

Merci de votre attention !

2 Réponses
3

Utilisez ce code :

function change_user_role_after_category_purchase($order_id) {
    // Get the order object
    $order = wc_get_order($order_id);

    // Get the user ID of the customer
    $user_id = $order->get_user_id();

    // Define the target product category
    $target_category = 'example-category'; // Replace with your category slug

    // Check if the order contains products from the target category
    foreach ($order->get_items() as $item_id => $item) {
        $product_id = $item->get_product_id();

        if (has_term($target_category, 'product_cat', $product_id)) {
            // Change the user role
            $user = new WP_User($user_id);
            $user->set_role('new_role'); // Replace 'new_role' with your desired role slug

            // Exit the loop after finding a match
            break;
        }
    }
}

add_action('woocommerce_order_status_completed', 'change_user_role_after_category_purchase');
  • Remplacer les espaces réservés :

    • Remplacer exemple de catégorie avec l'intitulé de votre catégorie de produit cible.
    • Remplacer nouveau_rôle avec le rôle que vous souhaitez attribuer (par ex, abonné, client, éditeuretc.)
  • Ajouter le code :

    • Accédez à votre tableau de bord WordPress.
    • Aller à Apparence > Editeur de fichier de thème.
    • Ouvrir le functions.php de votre thème actif et collez le code en bas.
  • Tester la functionalité :

    • Effectuez un achat test dans la catégorie cible et assurez-vous que le rôle de l'utilisateur est mis à jour une fois que l'achat est marqué comme "terminé".
2

Vous pouvez également utiliser le plugin Changement automatique des rôles des utilisateurs pour WooCommerce (bien que j'aie eu un conflit avec elle) :

https://woocommerce.com/products/automatic-user-roles-switcher/

Partager :