На основе кода ответа "Добавление пользовательского получателя электронной почты в зависимости от выбранного значения пользовательского поля оформления заказа", внося в него изменения, вот мой код :
Код: Выделить всё
add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
function new_order_conditional_email_recipient( $recipient, $order ) {
if ( ! is_a( $order, 'WC_Order' ) ) return $recipient; // (Optional)
// Get the order ID (retro compatible)
$order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;
// Get the customer ID
$user_id = $order->get_user_id();
// Get the user data
$user_data = get_userdata( $user_id );
// Adding an additional recipient for a custom user role
if ( in_array( 'user_role1', $user_data->roles ) )
$recipient .= ', email1@gmail.com';
elseif ( in_array( 'user_role2', $user_data->roles ) )
$recipient .= ', email2@gmail.com';
return $recipient;
}
Это то, что я пробовал прямо сейчас, но когда я пытаюсь разместить другое, я получаю «внутреннюю ошибку сервера».
Поэтому я в основном пытаюсь выяснить, как получить поля от пользователя, разместившего заказ.
Подробнее здесь: https://stackoverflow.com/questions/554 ... -user-role