web-dev-qa-db-fra.com

woocommerce_email_attachments filtre les arguments

J'essaie de générer PDF pièce jointe pour les nouveaux emails de commande dans WooCommerce et voici ce que j'ai trouvé:

add_filter('woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email');
function attach_terms_conditions_pdf_to_email($attachments, $type, $object) {
    $your_pdf_path = get_template_directory() . '/file.pdf';
    $attachments[] = $your_pdf_path;
    return $attachments;
}

Cela fonctionne, mais je dois générer dynamiquement des PDF en fonction de leur ordre (devrait être en $object->order). Toutefois, rien d'autre que $attachments n'est transmis à ma fonction de rappel - $type et $object sont toujours null. func_get_args() donne seulement un tableau $attachments vide.

1
Avram

Un coup de couteau dans le noir, vous ne dites pas à add_filter le nombre d’arguments accepté. C'est un élément important. Vous devez également être explicite sur la priorité.

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