ธีม WordPress จำนวนมากมีลิงก์แบบฮาร์ดโค้ด ตัวอย่างเช่น ลิงก์ส่วนท้ายที่ชี้ไปยังหน้าสนับสนุนและหน้าติดต่ออาจมีลักษณะดังนี้:
<a href="/support/">Support</a> | <a href="/contact-us/">Contact us</a>
เมื่อไซต์ใช้งานหลายภาษา ลิงก์เหล่านี้จะต้องปรับให้เข้ากับภาษาที่แสดง ทั้งข้อความลิงก์ (สิ่งที่ผู้เยี่ยมชมเห็น) และ URL (ที่ลิงก์ชี้ไป) จำเป็นต้องเปลี่ยนแปลงเมื่อเปลี่ยนภาษา
ฟังก์ชัน WPML icl_link_to_element() จะสร้างลิงก์ที่แปลเป็นภาษาท้องถิ่นไปยังเพจต่างๆ และควรใช้เพื่อจุดประสงค์นี้
คำอธิบายฟังก์ชั่น
icl_link_to_element(ID, ประเภท, ข้อความ, อาร์กิวเมนต์, จุดยึด);
การโต้แย้ง | คำอธิบาย | จำเป็น / ไม่จำเป็น |
---|---|---|
บัตรประจำตัวประชาชน | ID ของโพสต์ เพจ แท็ก หรือหมวดหมู่ที่จะลิงก์ไป | ต้องระบุ |
พิมพ์ | ประเภทของเพจที่จะลิงก์ไป อาจเป็น ‘โพสต์’ ‘เพจ’ ‘แท็ก’ หรือ ‘หมวดหมู่’ | ไม่บังคับ ค่าเริ่มต้นคือ ‘โพสต์’ |
ข้อความ | ข้อความลิงก์ หากไม่ได้ระบุจะสร้างชื่อขององค์ประกอบในภาษาปัจจุบัน | ไม่บังคับ ตั้งค่าเริ่มต้นเป็นชื่อขององค์ประกอบ หากต้องการคงไว้ตามค่าเริ่มต้น ให้ป้อน false |
ข้อโต้แย้ง | อาร์กิวเมนต์เพิ่มเติมสำหรับลิงก์ เมื่อใช้แล้ว นี่ควรเป็นอาร์เรย์ PHP | ไม่บังคับ ตั้งค่าเริ่มต้นเป็นไม่มีอาร์กิวเมนต์ |
สมอ | จุดยึดเสริมสำหรับลิงก์ | ไม่บังคับ ค่าเริ่มต้นคือไม่มีจุดยึด |
ตัวอย่างการใช้งาน
ตัวอย่าง | วัตถุประสงค์ | HTML ที่ผลิต |
---|---|---|
<?php icl_link_to_element(10); -> | ลิงค์ไปหน้า 10 (หน้าสนับสนุน) | <เป็น href=”/support/”> สนับสนุน< /ก> |
<?php icl_link_to_element(10,’โพสต์’,__(‘รับความช่วยเหลือ’)); -> | ลิงก์ไปยังหน้าสนับสนุนพร้อมข้อความลิงก์สำรอง | <เป็น href=”/support/”> ขอความช่วยเหลือ< /ก> |
<?php icl_link_to_element(10,’โพสต์’,เท็จ, อาร์เรย์(‘หมวดหมู่’=> ‘ผลิตภัณฑ์’, ‘ลำดับความสำคัญ’=> ‘สูง’); -> | เชื่อมโยงไปยังหน้าสนับสนุนและเพิ่มสองข้อโต้แย้ง | <a href=”/support/?category=products&priority=high”> สนับสนุน< /ก> |
<?php icl_link_to_element(10,’โพสต์’,เท็จ,’ลำดับความสำคัญ’=> ‘สูง’,’คำถามที่พบบ่อย’); -> | ||
<?php icl_link_to_element(3,’แท็ก’); -> | ลิงก์ไปยังแท็ก ID 3 (แท็ก ‘ข่าว’ ของเรา) | <a href=”/tag/ข่าว/”> ข่าว< /ก> |
มันทำงานอย่างไร
คุณสามารถระบุ ID ของเพจ / โพสต์ / แท็ก / หมวดหมู่ในภาษาใดก็ได้ WPML จะตรวจสอบว่ามีการแปลสำหรับภาษาปัจจุบันหรือไม่ ถ้าเป็นเช่นนั้น มันจะสร้างลิงก์ไปยังมัน หากไม่มีคำแปล ระบบจะลิงก์ไปยังหน้าในภาษาต้นฉบับ
เมื่อคุณระบุข้อความลิงก์ด้วยตนเอง เป็นความคิดที่ดีที่จะล้อมไว้ในการเรียก gettext __() เพื่อให้ข้อความแสดงในภาษาที่ถูกต้อง หากคุณไม่ระบุข้อความลิงก์ใดๆ (ดังตัวอย่างแรก) WPML จะสร้างชื่อของเพจนั้น