1

En WooCommerce J'utilise le code suivant pour ajouter des fichiers PDF en tant que pièce jointe:Ajouter une pièce jointe aux notifications WooCommerce lorsque l'état de la commande est en attente

add_filter('woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3); 

function attach_terms_conditions_pdf_to_email ($attachments , $id, $object) { 
    $your_pdf_path1 = get_stylesheet_directory() . '/pdf/ano1.pdf'; 
    $your_pdf_path2 = get_stylesheet_directory() . '/pdf/ano2.pdf'; 
    $attachments[] = $your_pdf_path1; 
    $attachments[] = $your_pdf_path2; 
    return $attachments; 
} 

Mon problème est que l'attachement envoie toujours pour tous les messages électroniques aux clients. Je souhaite envoyer une pièce jointe uniquement dans le cas où le statut de la commande est "en attente".

Comment est-il possible de connaître le statut de ma commande et d'envoyer une pièce jointe uniquement pour ce cas?

Répondre

0

Mise à jour

Vous devez utiliser le $id l'argument avec 'customer_on_hold_order' comme email ID dans votre fonction comme condition ...

add_filter('woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3); 

function attach_terms_conditions_pdf_to_email ($attachments , $id, $object) { 

// Continue if it's customer_on_hold email notiication 
if ($id != 'customer_on_hold_order') return $attachments; 

    $your_pdf_path1 = get_stylesheet_directory() . '/pdf/ano1.pdf'; 
    $your_pdf_path2 = get_stylesheet_directory() . '/pdf/ano2.pdf'; 
    $attachments[] = $your_pdf_path1; 
    $attachments[] = $your_pdf_path2; 
    return $attachments; 
} 

Code va dans le fichier function.php de votre enfant actif thème (ou thème) ou aussi dans n'importe quel fichier plugin.

Testé et fonctionne

+0

hmmm avec votre configuration Je ne suis pas en mesure de commander mon produit. Quand je clique sur le bouton "Commander", je vois seulement un rectangle rouge et rien à l'intérieur. J'ai utilisé exactement votre code et l'ai copié dans function.php. Si j'utilise mon code que j'ai envoyé, ça fonctionne mais pas comme je le voudrais. –

+0

@RichardJacko Désolé, j'ai fait une petite erreur ... J'ai mis à jour le code. essayez-le, maintenant il devrait fonctionner comme prévu. – LoicTheAztec

+0

Il fonctionne correctement maintenant :) Merci beaucoup pour votre aide. Votre code est parfait !!! –