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 都会关闭最后一个仍处于打开状态的作用域。每次切换都应调用一次重置。将其放入 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 个 获取内容的语言信息 钩子 →