Llame al meta de pedido personalizado en el correo electrónico de woocommerce

1 minuto de lectura

Tengo campos personalizados en el proceso de pago en woocommerce y quiero que estos campos aparezcan en la plantilla de correo electrónico.

Estoy agregando lo siguiente, pero todavía no se muestra:

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

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

Puedes hacer uso de woocommerce_email_order_meta_keys gancho de 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;

} 

Si necesita más control sobre la pantalla, intente usar woocommerce_email_after_order_table gancho de acción

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>';

}

  • Oye, estuve buscando durante semanas una solución a este problema. ¿Dónde encontraste este código? ¿Está documentado en algún lugar que haya pasado por alto?

    – Squagem

    1 de diciembre de 2016 a las 15:42

  • Eso parece funcionar para los correos electrónicos de pedidos en proceso, pero no para los correos electrónicos de pedidos completos.

    – Garconís

    5 sep 2017 a las 18:30

¿Ha sido útil esta solución?