Hi George, many thanks for the suggestions.
I went up and down investigating and testing, re-doing the steps to introduce dynamic textes on Woo’s Settings, scan themes and plugins, translate them properly, test emails Subjects and Headings… but couldn’t find the culprit.
We are using the typical ways in which WooCommerce processes an order. I even tried without any other plugins than the essentials (Woo, Woo Multi, WPML), but nothing.
On WPML’s Strings area, I can search and find the dynamic strings, they’ll show their context, name, string and status, I translate them, but they’ll be sent empty in any language when the order is processed (the rest of the mail is properly translated though).
I came up with this code to “force it” (to place on functions.php), but I’m unsatisfied with such a solution, even if it works. Replace TEXTDOMAIN for your theme’s text domain, then re-scan the theme, and translate.
I’ll mark the thread as resolved but it’s still bugging me as I’m sure I’m missing some small and important thing on all this.
Cheers,
//Attempt to warrant Subject line and Heading line in mails
add_filter('woocommerce_email_subject_customer_completed_order','new_order_subject');
function new_order_subject($subject){
$subject= __( 'Vielen Dank für Ihre Zahlung','TEXTDOMAIN');
return $subject;
}
add_filter('woocommerce_email_heading_customer_completed_order','new_order_subject2');
function new_order_subject2($heading){
$heading= __( 'Best?tigung Ihrer Kreditkartenzahlung','TEXTDOMAIN');
return $heading;
}
add_filter('woocommerce_email_subject_customer_processing_order','new_order_subject3');
function new_order_subject3($subject){
$subject= __( 'Vielen Dank für Ihre Zahlung','TEXTDOMAIN');
return $subject;
}
add_filter('woocommerce_email_heading_customer_processing_order','new_order_subject4');
function new_order_subject4($heading){
$heading= __( 'Best?tigung Ihrer Kreditkartenzahlung','TEXTDOMAIN');
return $heading;
}
add_filter('woocommerce_email_subject_new_order','new_order_subject5');
function new_order_subject5($subject){
$subject= __( 'Neue Einzahlung per Kredit Karte','TEXTDOMAIN');
return $subject;
}
add_filter('woocommerce_email_heading_new_order','new_order_subject6');
function new_order_subject6($heading){
$heading= __( 'Neue Einzahlung','TEXTDOMAIN');
return $heading;
}