Сценарий: клиент покупает любой продукт, и после завершения заказа дополнительное электронное письмо отправляется на сохраненное значение в метаданных пользователей.
Мое метаполе хранится в базе данных следующим образом:Таблица: wp_usermetaКолонка: meta_key = iconic-register-emailСтолбец: meta_value = X
Мне нужно получить значение meta_value на основе столбца meta_key iconic-register-email.
Мой код до сих пор: (для размещения в файле 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