2016-03-14 87 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); 

我看到這個問題已被詢問了幾次,所以希望它能幫助別人。

相關問題