场景:客户购买任何产品,订单完成后,其他电子邮件将发送到用户元数据中的存储值。
我的元字段存储在数据库中,如下所示:
表:wp_usermeta
专栏:meta_key = iconic-register-email
列:meta_value = X
我需要根据meta_key列iconic-register-email检索meta_value。
到目前为止我的代码: (放在子主题的function.php文件中)
add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
function new_order_conditional_email_recipient( $recipient, $order ) {
// Get the order ID (retro compatible)
$order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;
// Get the custom field value (with the right $order_id)
$my_field_name = get_post_meta($order_id, 'my_field_name', true);
if ($my_field_name == "empolyee1@company.com")
$recipient .= ', empolyee1@company.com';
elseif ($my_field_name == "empolyee2@company.com")
$recipient .= ', empolyee2@company.com';
return $recipient;
}
我没有收到任何错误,但我也没有收到任何电子邮件。我试过替换
$my_field_name = get_post_meta($order_id, 'my_field_name', true);
与
$my_field_name = get_post_meta($order_id, 'iconic-register-email', true);
但这不起作用。
为了尽量减少下面代码中匹配的每个电子邮件地址的静态编码:
if ($my_field_name == "empolyee1@company.com")
有没有办法根据meta_value = X
调用$ recipient