WPML

Обзор проблемы

При использовании WPML с WP Mail SMTP (открывается в новой вкладке) Вы не можете перевести Имя отправителя в письмах. Письма на дополнительных языках отправляются с именем отправителя для языка по умолчанию.

Обходное решение

Перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.

  • Перейдите в WP Mail SMTPНастройки и включите Force From Name.
  • Перейдите в WPMLНастройкиПользовательская конфигурация XML и добавьте:
    <wpml-config>
      <admin-texts>
        <key name="wp_mail_smtp">
          <key name="mail">
            <key name="from_name"/>
          </key>
        </key>
      </admin-texts>
    </wpml-config>
  • Добавьте этот код в файл functions.php Вашей темы оформления:
    add_filter( 'wp_mail_smtp_options_get', function ( $value, $group, $key ) {
    	if ( 'mail' === $group && 'from_name' === $key && is_string( $value ) ) {
    		$value = apply_filters( 'wpml_translate_single_string', $value, 'admin_texts_wp_mail_smtp', '[wp_mail_smtp][mail]from_name' );
    	}
    	return $value;
    }, 10, 3 );
  • Перейдите в WPMLПеревод строк и переведите имя отправителя.
Это обходное решение не работает для писем, отправленных с использованием Optimized Email Sending. Если этот параметр включен, в письмах сохраняется имя отправителя для языка по умолчанию.

Все известные проблемы

Нужна помощь с этой проблемой?

Отправьте запрос в поддержку, и мы разберемся в этом вместе с Вами.