wpml_switch_language_for_email
- 类型
- action
- 类别
- 获取内容的语言信息
- WPML 版本
- 3.2.0
说明
此动作钩子可将您的电子邮件语言切换为用户的首选语言。当您需要发送不同语言的电子邮件时,这会非常有用。请务必使用 wpml_restore_language_from_email 将语言重置回去。此外,请参阅扩展文档:使用 WPML 发送电子邮件。
如果给定的电子邮件未注册,则不会发生任何变化。
这些切换可以嵌套。从 WPML 5.0 开始,每次调用此动作都会打开一个语言作用域,而每次调用 wpml_restore_language_from_email 都会关闭最后一个仍处于打开状态的作用域。每次切换都应调用一次重置。将其放入 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