@Shaun ... Да, извините, я исправил свои маленькие ошибки, обновляя этот ответ ... спасибо

у иметь возможность изменить, кто получает уведомления по электронной почте от Woocommerce, в зависимости от роли пользователя при оформлении заказа.

Например, если пользователь вошел в систему как Оптовый клиент, то будет получено другое электронное письмо.

Я нашел, как изменить его, когда новый заказ завершен с помощьюwoocommerce_email_recipient_new_order ловушка, но я не могу найти никаких ловушек, связанных с ошибками или отмененными уведомлениями.

add_filter( 'woocommerce_email_recipient_new_order', 'sv_conditional_email_recipient', 10, 2 );


function sv_conditional_email_recipient( $recipient, $order ) {

    // Bail on WC settings pages since the order object isn't yet set yet
    // Not sure why this is even a thing, but shikata ga nai
    $page = $_GET['page'] = isset( $_GET['page'] ) ? $_GET['page'] : '';
    if ( 'wc-settings' === $page ) {
        return $recipient; 
    }

    // just in case
    if ( ! $order instanceof WC_Order ) {
        return $recipient; 
    }


         if ( in_array( 'wholesale_customer', (array) $user->roles )  ) {
            $recipient .= ', [email protected]';
            return $recipient;
        }

    return $recipient;
}


add_filter( 'woocommerce_email_recipient_new_order', 'sv_conditional_email_recipient', 10, 2 );

Может кто-нибудь помочь, пожалуйста?

Ответы на вопрос(1)

Ваш ответ на вопрос