2015-10-08 19 views
5

Ho campi personalizzati nel checkout in woocommerce e voglio che questi campi appaiano nel modello di email.Chiama meta ordine personalizzato in woocommerce email

sto aggiungendo il seguente ma ancora non mostrare:

<?php if (have_posts()) : while (have_posts()) : the_post(); 

      $mycustom = get_post_meta($order->id, 'wccf_delivery_day', true); 
      echo $mycustom;?> 
      <?php endwhile; ?> 

risposta

7

si può fare uso del gancio woocommerce_email_order_meta_keys filtro

add_filter('woocommerce_email_order_meta_keys', 'my_woocommerce_email_order_meta_keys'); 

function my_woocommerce_email_order_meta_keys($keys) { 

    $keys['Delivery Day'] = '_wccf_delivery_day'; 

    return $keys; 

} 

Se avete bisogno di un maggiore controllo sulla visualizzazione provare a utilizzare il gancio woocommerce_email_after_order_table azione

add_action("woocommerce_email_after_order_table", "custom_woocommerce_email_after_order_table", 10, 1); 

function custom_woocommerce_email_after_order_table($order) { 

    echo '<p><strong>Delivery Day :</strong>'. get_post_meta($order->id, "_wccf_delivery_day", true) .'</p>'; 

} 
+0

Ehi, stavo cercando settimane per una soluzione a questo problema lem - dove hai trovato questo codice? È documentato da qualche parte che ho trascurato? – Squagem

+0

Sembra funzionare per le e-mail di ordine di elaborazione, ma non per le e-mail complete dell'ordine? – Garconis

Problemi correlati