我已经成功地在签出时设置了一些自定义字段,一切正常。
我有一个复选框作为字段之一,my_gift_wrap_checkbox
, 我成功地编写了代码来显示订单页面中的文本(“是的,请!”或“不,谢谢你”)而不是简单的blank
或1
是否检查。
我不知道如何在电子邮件代码中实现同样的效果。我的代码是:
/**
* 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[\'Gift wrap?\'] = \'my_gift_wrap_checkbox\';
$keys[\'Gift wrap instructions\'] = \'my_gift_wrap_field\';
return $keys;
}
现在:
如果是checked, 我明白了Gift wrap?: 1
<我想要Gift wrap?: Yes please!
如果是not checked, 它显示Gift wrap?:
<我想要Gift wrap?: No thank you.
最合适的回答,由SO网友:Nate Allen 整理而成
Try this instead:
add_action( "woocommerce_email_after_order_table", "my_woocommerce_email_after_order_table", 10, 1);
function my_woocommerce_email_after_order_table( $order ) {
$my_gift_wrap_checkbox = get_post_meta( $order->id, "my_gift_wrap_checkbox", true );
$gift_wrap = $my_gift_wrap_checkbox ? \'Yes please!\' : \'No thank you.\';
echo \'<p><strong>Gift wrap?: </strong>\' . $gift_wrap . \'</p>\';
if ( $my_gift_wrap_checkbox ) {
echo \'<p><strong>Gift wrap instructions: </strong>\' . get_post_meta( $order->id, "my_gift_wrap_field", true ) . \'</p>\';
}
}