2016-03-14 105 views
0

我试图完成的是在新的自定义电子邮件中使用我的结帐中的自定义字段。我找到了关于returning the key, value within the body of the email的文档,并且详细说明了哪些工作。无法在自定义电子邮件中使用WooCommerce自定义字段作为收件人

问题是我无法得到这个工作与一个新的自定义订单通知,我想使用'备份电子邮件'作为自定义电子邮件通知的收件人。

/** WORKING 
* Add the field to order emails 
**/ 
add_filter('woocommerce_email_order_meta_keys', 'my_woocommerce_email_order_meta_keys'); 

function my_woocommerce_email_order_meta_keys($keys) { 
    $keys['back-up email?'] = 'backup_email'; 
    return $keys; 
} 
/** WORKING 
* Add to back-end 
**/ 
add_action('woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1); 

function my_custom_checkout_field_display_admin_order_meta($order){ 
    echo '<p><strong>'.__('Back-up Email').':</strong> ' . get_post_meta($order->id, 'backup_email', true) . '</p>'; 
} 

自定义电子邮件是通过tutorial创建的。

// Does not work 
$this->recipient = get_post_meta($order->id, 'backup_email', true); 
// defaults to admin email 
if (! $this->recipient) 
     $this->recipient = get_option('admin_email'); 

我可能会缺少一些基本的PHP/WP主体,所以请赐教。

回答

0

想通了。它需要在设置新的订单对象后调用

$this->object = new WC_Order($order_id); 
$this->recipient = get_post_meta($order_id, 'backup_email', true); 

我看到这个问题已被询问了几次,所以希望它能帮助别人。

相关问题