Dans la famille : « Bizarre, cela fonctionnait avant et plus maintenant » je demande l’adresse de livraison dans les e-mails de WooCommerce.

Un client me rapporte ce « nouveau bug » et cela ne fait pas très pro…

Sans attendre et rechercher comme un fou pourquoi, comment, quand, je dois résoudre cela rapidement et je vois que je ne suis pas le seul.

Deux morceaux de code dans votre fichier functions.php de votre thème enfant suffiront.

Voici donc ce que j’ai trouvé pour afficher l’adresse de livraison dans les e-mails de WooCommerce :

add_action( 'woocommerce_email_after_order_table', 'woocommerce_add_shipping_address_to_admin_emails', 15, 2 );
function woocommerce_add_shipping_address_to_admin_emails( $order, $is_admin_email ) {
    if ( $is_admin_email ) {
        echo '<p><strong>Address de livraison :</strong> <h3>' . $order->get_formatted_shipping_address() . '</h3>  </p>';
    }
}

Ensuite, le client m’annonce aussi que l’adresse e-mail et le téléphone n’apparaissent plus non plus… 

Voici le code magique :

function woocommerce_email_customer_details( $order ) {

    $phone= $order->get_billing_phone();
    $email=$order->get_billing_email();
    ?>
     <h3><?php _e( 'Customer details', 'woocommerce' ); ?></h3>
     <ul>
       <li><strong><?php echo wp_kses_post( 'Email address'); ?>:</strong> <span class="text"><?php echo wp_kses_post( $email ); ?></span></li>
    <?php if($phone) { ?>
         <li><strong><?php echo wp_kses_post( 'Phone'); ?>:</strong> <span class="text"><?php echo wp_kses_post( $phone ); ?></span></li>
      <?php } ?>
     </ul>
    <?php
};

add_action( 'woocommerce_email_customer_details', 'woocommerce_email_customer_details', 10, 4 );

Voilà, j’espère en dépanner plus d’un et faire redescendre la pression des autres 🙂

 

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.