Я уже спрашивал у ИИ, пробовал несколько коды, но ни один из них не работает.
Я пробовал эти, но ни один из них не работал, и я не могу понять, пытаюсь ли я использовать неправильный крючок или проблема в другом месте
Код: Выделить всё
add_action('woocommerce_email_order_meta', function($order) {
global $wpdb;
$order_id = $order->get_id();
$order_language = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM ls_wc_orders_meta WHERE order_id = %d AND meta_key = 'trp_language'",$order_id));
if ($order_language) {
add_filter('locale', function($locale) use ($order_language) {
return $order_language;});
if (function_exists('trp_change_language')) {
trp_change_language($order_language);
}
}, 10, 1);
Код: Выделить всё
add_filter( 'gettext', 'remove_translate_for_custom_email', 10, 3 );
function remove_translate_for_custom_email( $translated_text, $text, $domain ) {
if ( $domain === 'woocommerce' ) {
return $text;
}
return $translated_text;
}
Код: Выделить всё
add_action( 'woocommerce_email_before_order_table', 'set_email_language', 10, 4 );
function set_email_language( $order, $sent_to_admin, $plain_text, $email ) {
switch_to_locale( 'en_US' );
}
add_action( 'woocommerce_email_after_order_table', 'reset_email_language', 10, 1 );
function reset_email_language( $order ) {
restore_previous_locale();
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-off-tran