'woo-new_order', 'base_subject' => [ '[{site_title}]: New order #{order_number}', ], 'base_body' => '', 'new_subject' => '[{param1}]: New order #{param2}', 'new_body' => 'You’ve received the following order from {user_billing_full_name}:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_NEW_ORDER_EMAIL_DESC', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_completed_order', 'base_subject' => [ 'Your {site_title} order is now complete', ], 'base_body' => '', 'new_subject' => 'Your {param1} order is now complete', 'new_body' => 'Hi {user_billing_full_name},
We have finished processing your order.
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_COMPLETE_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_on_hold_order', 'base_subject' => [ 'Your {site_title} order has been received!', ], 'base_body' => '', 'new_subject' => 'Your {param1} order has been received!', 'new_body' => 'Hi {user_billing_full_name},
Thanks for your order. It’s on-hold until we confirm that payment has been received. In the meantime, here’s a reminder of what you ordered:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_ON_HOLD_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_invoice', 'base_subject' => [ 'Invoice for order #{order_number} on {site_title}', ], 'base_body' => '', 'new_subject' => 'Invoice for order #{param1} on {param2}', 'new_body' => 'Hi {user_billing_full_name},
Here are the details of your order placed on {order_date_created}}:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_INVOICE', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_processing_order', 'base_subject' => [ 'Your {site_title} order has been received!', ], 'base_body' => '', 'new_subject' => 'Your {param1} order has been received!', 'new_body' => 'Hi {user_billing_full_name},
Just to let you know — we\'ve received your order #{order_number}, and it is now being processed:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_PROCESSING_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_refunded_order', 'base_subject' => [ 'Your {site_title} order #{order_number} has been refunded', ], 'base_body' => '', 'new_subject' => 'Your {param1} order #{param2} has been refunded', 'new_body' => 'Hi {user_billing_full_name},
Your order on {param1} has been refunded. There are more details below for your reference:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_REFUNDED_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_partially_refunded_order', 'base_subject' => [ 'Your {site_title} order #{order_number} has been partially refunded', ], 'base_body' => '', 'new_subject' => 'Your {param1} order #{param2} has been partially refunded', 'new_body' => 'Hi {user_billing_full_name},
Your order on {param1} has been partially refunded. There are more details below for your reference:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CUSTOMER_PARTIALLY_REFUNDED_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-failed_order', 'base_subject' => [ '[{site_title}]: Order #{order_number} has failed', ], 'base_body' => '', 'new_subject' => '[{param1}]: Order #{param2} has failed', 'new_body' => 'Payment for order {param2} from {user_billing_full_name} has failed. The order was as follows:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_FAILED_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-cancelled_order', 'base_subject' => [ '[{site_title}]: Order #{order_number} has been cancelled', ], 'base_body' => '', 'new_subject' => '[{param1}]: Order #{param2} has been cancelled', 'new_body' => 'Notification to let you know — order #{param2} belonging to {user_billing_full_name} has been cancelled:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_WOO_CANCELED_ORDER', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_reset_password', 'base_subject' => [ 'Password Reset Request for {site_title}', ], 'base_body' => '', 'new_subject' => 'Password Reset Request for {param1}', 'new_body' => 'Hi {user_login},
Someone has requested a new password for the following account on {param1}:
Username: {user_login}
If you didn\'t make this request, just ignore this email. If you\'d like to proceed:
Click here to reset your password', 'description' => 'ACYM_OVERRIDE_DESC_RESET_PASSWORD', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_new_account', 'base_subject' => [ 'Your {site_title} account has been created!', ], 'base_body' => '', 'new_subject' => 'Your {param1} account has been created!', 'new_body' => 'Hi {user_login},
Thanks for creating an account on {param1}. Your username is {user_login}. You can access your account area to view orders, change your password, and more at: {my_account_link}
Your password has been automatically generated: {user_password}', 'description' => 'ACYM_OVERRIDE_DESC_ADMIN_CREATED', 'source' => $this->mailOverrideSourceName, ], [ 'name' => 'woo-customer_note', 'base_subject' => [ 'Note added to your {site_title} order from {order_date}', ], 'base_body' => '', 'new_subject' => 'Note added to your {param1} order from {param2}', 'new_body' => 'Hi {user_billing_full_name},
The following note has been added to your order:
{customer_note}

As a reminder, here are your order details:
{woocommerce_email_order_details}
{woocommerce_email_order_meta}
{woocommerce_email_customer_details}', 'description' => 'ACYM_OVERRIDE_DESC_CUSTOMER_NOTE', 'source' => $this->mailOverrideSourceName, ], ]; $emailsOverride = array_merge($emailsOverride, $wooOverrides); } public function onAcymGetEmailOverridesParams(&$overridesParamsAll) { $overridesParamsAll['woo-new_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_completed_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_on_hold_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_invoice'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'order_date_created' => [ 'nicename' => acym_translation('ACYM_ORDER_CREATION_DATE'), 'description' => acym_translation('ACYM_ORDER_CREATION_DATE_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_processing_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'order_number' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_refunded_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_partially_refunded_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-failed_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-cancelled_order'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_NUMBER'), 'description' => acym_translation('ACYM_ORDER_NUMBER_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_reset_password'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'user_login' => [ 'nicename' => acym_translation('ACYM_USER_NAME'), 'description' => acym_translation('ACYM_USER_NAME_OVERRIDE_DESC'), ], 'link_reset_password' => [ 'nicename' => acym_translation('ACYM_LINK_RESET_PASSWORD'), 'description' => acym_translation('ACYM_LINK_RESET_PASSWORD_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_new_account'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'user_login' => [ 'nicename' => acym_translation('ACYM_USER_NAME'), 'description' => acym_translation('ACYM_USER_NAME_OVERRIDE_DESC'), ], 'my_account_link' => [ 'nicename' => acym_translation('ACYM_LINK_TO_ACCOUNT_FRONT'), 'description' => acym_translation('ACYM_LINK_TO_ACCOUNT_FRONT_OVERRIDE_DESC'), ], 'user_password' => [ 'nicename' => acym_translation('ACYM_PASSWORD'), 'description' => acym_translation('ACYM_PASSWORD_OVERRIDE_DESC'), ], ]; $overridesParamsAll['woo-customer_note'] = [ 'param1' => [ 'nicename' => acym_translation('ACYM_SITE_NAME'), 'description' => acym_translation('ACYM_SITE_NAME_OVERRIDE_DESC'), ], 'param2' => [ 'nicename' => acym_translation('ACYM_ORDER_CREATION_DATE'), 'description' => acym_translation('ACYM_ORDER_CREATION_DATE_OVERRIDE_DESC'), ], 'user_billing_full_name' => [ 'nicename' => acym_translation('ACYM_USER_BILLING_FULL_NAME'), 'description' => acym_translation('ACYM_USER_BILLING_FULL_NAME_OVERRIDE_DESC'), ], 'customer_note' => [ 'nicename' => acym_translation('ACYM_CUSTOMER_NOTE'), 'description' => acym_translation('ACYM_CUSTOMER_NOTE_OVERRIDE_DESC'), ], 'woocommerce_email_order_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_DETAILS_OVERRIDE_DESC'), ], 'woocommerce_email_order_meta' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_ORDER_META_OVERRIDE_DESC'), ], 'woocommerce_email_customer_details' => [ 'nicename' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS'), 'description' => acym_translation('ACYM_WOOCOMMERCE_EMAIL_CUSTOMER_DETAILS_OVERRIDE_DESC'), ], ]; } public function onAcymGetEmailOverrideSources(&$sources) { $sources[$this->mailOverrideSourceName] = $this->pluginDisplayedName; } /** * @param $args * 0: to * 1: subject * 2: body * 3: headers * 4: attachments * @param $emailTypeClass */ public function onWooCommerceEmailSend($args, $emailTypeClass) { $overrideClass = new OverrideClass(); $activeOverrides = $overrideClass->getActiveOverrides('name'); if (empty($activeOverrides)) return $args; if (empty($activeOverrides['woo-'.$emailTypeClass->id])) return $args; $override = $activeOverrides['woo-'.$emailTypeClass->id]; $mailClass = new MailClass(); $mail = $mailClass->getOneById($override->mail_id); if (empty($mail)) return $args; $mail = $this->onWooCommerceEmailSendReplaceTags($mail, $emailTypeClass); $args[2] = $mail->body; $dynamicSubjects = [ 'customer_invoice', 'customer_refunded_order', ]; if (in_array($emailTypeClass->id, $dynamicSubjects)) { $overrideNameKey = array_search($emailTypeClass->id, $dynamicSubjects); $overrideName = 'woo-'.$dynamicSubjects[$overrideNameKey]; $wooOverrides = []; $this->onAcymGetEmailOverrides($wooOverrides); $key = array_search($overrideName, array_column($wooOverrides, 'name')); $mail->subject = $wooOverrides[$key]['base_subject'][0]; $mail = $this->onWooCommerceEmailSendReplaceTags($mail, $emailTypeClass, 'subject'); $args[1] = $mail->subject; } return $args; } private function onWooCommerceEmailSendReplaceTags($mail, $emailTypeClass, $column = 'body') { $order = $emailTypeClass->object; $dynamicText = [ '{site_title}' => wp_specialchars_decode(get_bloginfo('name'), ENT_QUOTES), ]; if (get_class($order) != 'WP_User') { $dynamicText['{order_number}'] = $order->get_order_number(); $dynamicText['{user_billing_full_name}'] = $order->get_formatted_billing_full_name(); $dynamicText['{order_date_created}'] = wc_format_datetime($order->get_date_created()); $dynamicText['{checkout_payment_url}'] = ''; if (!empty($emailTypeClass->customer_note)) $dynamicText['{customer_note}'] = wpautop(wptexturize(make_clickable($emailTypeClass->customer_note))); //get woocommerce_email_order_details ob_start(); do_action('woocommerce_email_order_details', $order, true, false, ''); $dynamicText['{woocommerce_email_order_details}'] = ob_get_clean(); //get woocommerce_email_order_meta ob_start(); do_action('woocommerce_email_order_meta', $order, true, false, ''); $dynamicText['{woocommerce_email_order_meta}'] = ob_get_clean(); //get woocommerce_email_customer_details ob_start(); do_action('woocommerce_email_customer_details', $order, true, false, ''); $dynamicText['{woocommerce_email_customer_details}'] = ob_get_clean(); } else { $dynamicText['{user_login}'] = $emailTypeClass->user_login; $dynamicText['{user_password}'] = $emailTypeClass->user_pass; $dynamicText['{my_account_link}'] = make_clickable(esc_url(wc_get_page_permalink('myaccount'))); $dynamicText['{link_reset_password}'] = add_query_arg( [ 'key' => $emailTypeClass->reset_key, 'id' => $emailTypeClass->user_id, ], wc_get_endpoint_url('lost-password', '', wc_get_page_permalink('myaccount')) ); } $pluginHelper = new PluginHelper(); $mail->{$column} = $pluginHelper->replaceDText($mail->{$column}, $dynamicText); return $mail; } }