2 votes

Éviter l'envoi d'une notification par courriel de l'état d'une commande terminée pour un rôle d'utilisateur spécifique.

J'ai un rôle d'utilisateur pour les clients en gros (wholesale_customer). Lorsque je marque une commande comme terminée, une notification est envoyée aux clients. Cela fonctionne pour mes clients habituels, mais je voudrais désactiver/supprimer la notification pour les clients en gros.

Ce que j'ai jusqu'à présent :

function do_not_send_some_email_notifications(WC_Emails $wc_emails) {
    $order = new WC_Order( $order_id );
    if ( $order->user_id > 0 ) {
    $user_id = $order->user_id;
    $get_user_data = get_userdata($user_id); 

    $user_roles = $get_user_data->roles;
        if (in_array('wholesale_customer', $user_roles)) {
            remove_action('woocommerce_order_status_completed_notification', array($wc_emails->emails['WC_Email_Customer_Completed_Order'], 'trigger'));

        }
    }
}
add_action('woocommerce_email', 'do_not_send_some_email_notifications');

Je l'ai testé mais cela ne fonctionne pas.

Ce serait très bien si quelqu'un pouvait m'indiquer la bonne direction.

Gracias.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X