Notification par e-mail de fin de commande WooCommerce : restreindre les méthodes d'expédition spécifiques
P粉327903045
P粉327903045 2023-09-09 13:26:30
0
1
571

J'essaie de désactiver l'e-mail de commande complétée uniquement si le client sélectionne la méthode d'expédition "Retirada no local".

J'ai trouvé le code suivant qui désactive les e-mails pour toutes les méthodes d'expédition sauf une - ce n'est pas ce dont j'ai besoin, mais cela pourrait aider :

function filter_woocommerce_email_recipient_new_order( $recipient, $order = false ) {   
    if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
    
    // 获取配送方式
    $shipping_method = $order->get_shipping_method();

    // 不等于(注意:这应该根据您网站语言中的配送方式进行调整)
    // 例如:荷兰语中的“Afhalen”等...
    if ( $shipping_method != 'Local Pickup' ) {
        $recipient = '';
    }

    return $recipient;
}
add_filter( 'woocommerce_email_recipient_new_order', 'filter_woocommerce_email_recipient_new_order', 10, 2 );```

P粉327903045
P粉327903045

répondre à tous(1)
P粉541565322

Modifiez la version du code que vous avez fourni par une version qui désactive l'e-mail client « Commande terminée » lorsque la méthode d'expédition est « Retirada no local »

function disable_completed_order_customer_email_for_retirada( $recipient, $order = false ) {   
    if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
    
    // 获取配送方式
    $shipping_method = $order->get_shipping_method();

    // 仅在配送方式为“Retirada no local”时禁用
    if ( $shipping_method === 'Retirada no local' ) {
        $recipient = '';
    }

    return $recipient;
}
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'disable_completed_order_customer_email_for_retirada', 10, 2 );

Veuillez noter que votre mode d'expédition doit correspondre exactement aux mots et aux lettres majuscules de la phrase « Retirada no local » pour que ce code soit valide.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal