WPML
wpml_switch_language_for_email
ประเภท
action
เวอร์ชันของ WPML
3.2.0

คำอธิบาย

ฮุก action นี้จะสลับภาษาของอีเมลของคุณเป็นภาษาที่ผู้ใช้ต้องการ ซึ่งจะมีประโยชน์เมื่อคุณต้องการส่งอีเมลในภาษาต่าง ๆ ตรวจสอบให้แน่ใจว่าได้รีเซ็ตภาษากลับโดยใช้ wpml_restore_language_from_email นอกจากนี้ โปรดดูเอกสารประกอบเพิ่มเติม: การส่งอีเมลด้วย WPML

หากอีเมลที่ระบุไม่ได้ลงทะเบียนไว้ จะไม่มีอะไรเกิดขึ้น

การสลับเหล่านี้สามารถซ้อนกันได้ ตั้งแต่ WPML 5.0 การเรียกใช้ action นี้ทุกครั้งจะเปิดขอบเขตภาษา และการเรียกใช้ wpml_restore_language_from_email ทุกครั้งจะปิดขอบเขตล่าสุดที่ยังคงเปิดอยู่ เรียกใช้การคืนค่าหนึ่งครั้งต่อการสลับแต่ละครั้ง ใส่ไว้ในบล็อก finally เพื่อให้ทำงานได้แม้ว่าโค้ดของคุณจะเกิด exception หากคุณเปิดขอบเขตทิ้งไว้ คำขอส่วนที่เหลือจะทำงานในภาษาของผู้รับ

อาร์กิวเมนต์

$email (string) อีเมลของผู้ใช้

ตัวอย่างการใช้งาน

ตัวอย่าง
ส่งอีเมลถึงผู้ใช้ทุกคนในภาษาของตนเอง
$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 รายการ →