問題の概要
WPMLをWP Mail SMTP (新しいタブで開く)と併用する場合、メールのFrom Nameを翻訳できません。セカンダリ言語のメールは、デフォルト言語のFrom Nameで送信されます。
回避策
先に進む前に、必ずサイトの完全なバックアップを取得してください。
- 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文字列翻訳に移動し、送信者名を翻訳します。