WPML
wpml_switch_language_for_email
タイプ
action
WPMLバージョン
3.2.0

説明

このアクションフックは、メールの言語をユーザーの優先言語に切り替えます。これは、異なる言語でメールを送信する必要がある場合に役立ちます。wpml_restore_language_from_emailを使用して、必ず言語を元に戻してください。また、詳細なドキュメントWPMLを使用したメール送信も参照してください。

指定されたメールアドレスが登録されていない場合、何も起こりません。

これらの切り替えはネストされます。WPML 5.0以降、このアクションを呼び出すたびに言語スコープが開き、wpml_restore_language_from_emailを呼び出すたびに、まだ開いている最後のスコープが閉じられます。切り替えごとに1回復元を呼び出してください。コードが例外をスローした場合にも実行されるように、finallyブロック内に配置してください。スコープを開いたままにすると、リクエストの残りの部分は受信者の言語で実行されます。

引数

$email (文字列) ユーザーのメールアドレス。

使用例


すべてのユーザーにそれぞれの言語でメールを送信します。
$all_users = get_users();

foreach( $all_users as $user ) {
	// Switch language to user language.
	do_action('wpml_switch_language_for_email', $user->user_email );

	$subject = __('Hello, World!', 'text-domain');
	$message = __('This is our newsletter', 'text-domain');

	wp_mail( $user->user_email, $subject, $message);

	// Switch language back.
	do_action('wpml_restore_language_from_email');
}

wpml_post_language_details, wpml_restore_language_from_email, wpml_switch_language, wpml_element_language_code, wpml_element_language_details

すべてのコンテンツの言語情報の取得フック(6件) →