wpml_browser_redirect_language_params
- ประเภท
- filter
- หมวดหมู่
- ข้อมูลภาษาทั่วทั้งไซต์
- เวอร์ชัน WPML
- 4.0.6
คำอธิบาย
ฟิลเตอร์นี้สามารถใช้ได้เมื่อนักพัฒนาธีมต้องการใช้ชื่อคุกกี้อื่น หรือปรับแต่งอาร์เรย์ languageUrls เพื่อใช้ URL อื่น
ฟิลเตอร์นี้ใช้อาร์กิวเมนต์ $params ซึ่งเป็นอาร์เรย์แบบเชื่อมโยงที่มีข้อมูลบางส่วนเกี่ยวกับภาษาปัจจุบัน ภาษาที่ใช้งานอยู่ และการตั้งค่าคุกกี้
อาร์กิวเมนต์
- pageLanguage
- จัดเก็บรหัสภาษาปัจจุบัน
- languageUrls
- จัดเก็บอาร์เรย์แบบเชื่อมโยงที่มี URL การแปลทั้งหมดของหน้าปัจจุบัน คีย์ของอาร์เรย์คือรหัสภาษา ภาษาเดียวกันสามารถมีได้หลายรายการเพื่อให้ตรงกับการรวมกันของรหัสภาษาที่แตกต่างกัน ตัวอย่างเช่น ในกรณีของ
en_USจะมีการทำซ้ำ URL เดียวกันสามครั้งด้วยคีย์ต่อไปนี้:en_us,enและus - cookie
- จัดเก็บอาร์เรย์แบบเชื่อมโยงที่มีการตั้งค่าคุกกี้ โปรดดูรายละเอียดเพิ่มเติมที่ Document.cookie (เปิดในแท็บใหม่) โดยมีคีย์ดังนี้:
- name: ชื่อของคุกกี้ (ค่าเริ่มต้นคือ
_icl_visitor_lang_js) - domain: โดเมนที่ต้องใช้คุกกี้ (ค่าเริ่มต้นคือโดเมนปัจจุบันและไม่ควรเปลี่ยนแปลง)
- path: เส้นทางของคุกกี้ (ค่าเริ่มต้นคือ
/) - expiration: เวลาหมดอายุในหน่วยวินาทีจะอ่านจากค่าที่ตั้งไว้ใน Remember visitors’ language preference ซึ่งสามารถพบได้ใน การเปลี่ยนเส้นทางตามภาษาของเบราว์เซอร์ บนหน้า WPMLการตั้งค่าภาษา
- name: ชื่อของคุกกี้ (ค่าเริ่มต้นคือ
ตัวอย่างการใช้งาน
ในการใช้ฟิลเตอร์นี้ ต้องเปิดใช้งาน การเปลี่ยนเส้นทางตามภาษาของเบราว์เซอร์ บนหน้า WPML → การตั้งค่า → ภาษา
สามารถใช้โค้ดต่อไปนี้เพื่อเปลี่ยนเส้นทางเบราว์เซอร์ไปยังหน้าแรกสำหรับโพสต์เมื่อมีการเปลี่ยนภาษาเป็นภาษาที่ระบุ
function example_callback( $params ) {
global $post;
// Redirect the French language to the home page if the current page ID is 123
if ( $post->ID === 123 ) {
$params['pageLanguage'] = 'en';
$params['languageUrls'] = [ 'fr' => 'http://example.com/fr/' ];
}
return $params;
}
add_filter( 'wpml_browser_redirect_language_params', 'example_callback' );
ฮุกที่เกี่ยวข้อง
wpml_decode_custom_field, wpml_footer_language_selector, wpml_add_language_form_field, wpml_ls_exclude_in_menu, wpml_is_rtl, wpml_alternate_hreflang, wpml_head_langs, wpml_must_translate_canonical_url, wpml_active_languages, wpml_encode_custom_field