WPML สติ๊กกี้ลิงก์ ป้องกันไม่ให้ลิงก์ระหว่างเพจและโพสต์เสียหาย แม้ว่าเพจจะย้ายและถูกเปลี่ยนชื่อก็ตาม
WordPress ทำให้การเปลี่ยนที่อยู่หน้าเป็นเรื่องง่ายเกินไป ทำให้ลิงก์ขาเข้าทั้งหมดเสียหาย (ข้อผิดพลาด 404) ต่อไปนี้คือการดำเนินการบางประการที่อาจส่งผลให้เกิดข้อผิดพลาด 404:
- การเปลี่ยนพาเรนต์ของเพจ
- เปลี่ยนทาก
- การเปลี่ยนโครงสร้างลิงก์ถาวรของไซต์
WPML ป้องกันการเปลี่ยนแปลงใน URL ไม่ให้ลิงก์ขาเข้าเสียหาย เมื่อคุณสร้างลิงก์ WPML จะทำให้ลิงก์นั้นติดหนึบโดยอัตโนมัติ แทนที่จะจัดเก็บ URL ของหน้านั้น (ในขณะที่สร้างลิงก์) ระบบจะจัดเก็บหมายเลขหน้า สิ่งนี้ไม่สามารถเปลี่ยนแปลงได้ไม่ว่าคุณจะทำอะไรก็ตาม
จากนั้น เมื่อเพจปรากฏขึ้น WPML จะแทรกลิงก์ถาวรของเพจที่คุณกำลังลิงก์ไป เมื่อใดก็ตามที่ URL เปลี่ยนหน้าที่เชื่อมโยงทั้งหมดจะอัปเดตทันทีและจะเชื่อมโยงไปยังที่อยู่ที่ถูกต้อง
ภาพหน้าจอต่อไปนี้แสดงให้เห็นว่าลิงก์ภายในมีลักษณะอย่างไรในฐานข้อมูล เมื่อเปิดใช้งาน สติ๊กกี้ลิงก์
ผู้ใช้ของคุณจะไม่เห็นลิงก์ “แปลก” เหล่านี้เลย แต่ WPML จะแทนที่ด้วยลิงก์ถาวรปัจจุบันเมื่อแสดงเพจ
การควบคุมลิงก์ที่ติดหนึบ
เมื่อคุณเปิดใช้งานโมดูล สติ๊กกี้ลิงก์ คุณสามารถควบคุมได้ว่าจะให้โมดูลใดจัดการสตริงใด หากต้องการทำสิ่งนี้ ให้ไปที่หน้า WPML → ลิงก์เหนียว
ตามค่าเริ่มต้น WPML จะเปลี่ยนลิงก์ทั้งหมดในเนื้อหาของโพสต์เป็นลิงก์ติดหนึบ คุณยังสามารถเปลี่ยนลิงก์ในวิดเจ็ตและสตริงให้เป็นลิงก์ติดหนึบได้
WPML จะช่วยให้คุณสามารถแทนที่ลิงก์ปกติทั้งหมดเป็นลิงก์แบบติดหนึบได้ นอกจากนี้ยังจะรายงานลิงก์ที่ใช้งานไม่ได้ที่มีอยู่และช่วยแก้ไขด้วย
หากคุณเปิดใช้งาน สติ๊กกี้ลิงก์ หลังจากสร้างเนื้อหาบางส่วนแล้ว ลิงก์ในเนื้อหาที่มีอยู่นั้นจะไม่เปลี่ยนเป็น Sticky Links ในทันที
หน้าจอผู้ดูแลระบบ สติ๊กกี้ลิงก์ จะบอกคุณว่ามีเนื้อหาจำนวนเท่าใดที่อาจมีลิงก์ปกติ (ไม่เหนียว) WPML สามารถสแกนเนื้อหานั้นและแปลงลิงก์ทั้งหมดเป็นลิงก์ติดหนึบ คลิกที่ปุ่ม สแกน เพื่อทำเช่นนั้น
คุณสามารถคืนลิงก์ของคุณกลับเป็นลิงก์ถาวรปกติ (ไม่เหนียวเหนอะหนะ) ได้ตลอดเวลาโดยคลิก ที่ เปลี่ยนกลับ URL ที่เหนียวเป็นลิงก์ถาวร
การลิงก์ไปยังหน้าต่างๆ ในภาษาอื่น
บางครั้ง คุณอาจต้องการแทรกลิงก์ไปยังหน้าที่เป็นภาษาอื่น เนื่องจาก สติ๊กกี้ลิงก์ จะปรับลิงก์โดยอัตโนมัติ จึงอาจทำให้คุณไม่สามารถทำเช่นนี้ได้ และปรับลิงก์ให้ชี้ไปที่ภาษาเดียวกันแทน
เพื่อให้สามารถเพิ่มลิงก์ไปยังหน้าในภาษาอื่นได้ คุณต้องเพิ่มตัวกรองต่อไปนี้ลงในไฟล์ ฟังก์ชั่น .php ของธีมของคุณ
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 ); function wpml_sl_blacklist_requests( $blacklist, $sitepress ) { $blacklist[] = 'documentation'; return $blacklist; }
ในโค้ดด้านบน ให้ใช้อาร์เรย์ $blacklist เพื่อระบุ URL slugs ทั้งหมดสำหรับหน้าเว็บในภาษาต้นฉบับที่คุณต้องการลิงก์ไป
ในตัวอย่างของเรา เราต้องการลิงก์ไปยังหน้า “Documentation” (slug “documentation”) และ “Page Builders” (slug “page-builders”) เวอร์ชันภาษาอังกฤษ ดังนั้นเราจึงใช้สองบรรทัดต่อไปนี้:
$blacklist[] = 'documentation'; $blacklist[] = 'page-builders';
การจัดการลิงก์ภายในเนื้อหารหัสย่อ
ตามค่าเริ่มต้น ปลั๊กอิน สติ๊กกี้ลิงก์ จะไม่ค้นหาลิงก์ที่สร้างด้วยรหัสย่อ
หากคุณมีรหัสย่อบนหน้าเว็บของคุณที่สร้างลิงก์เช่น ” ?page_id=XX ” รหัสดังกล่าวจะแสดงต่อผู้ใช้ของคุณโดยไม่ถูกแปลงเป็นลิงก์ถาวร
ในการจัดการเนื้อหารหัสย่อเหล่านี้ด้วย สติ๊กกี้ลิงก์ ให้เพิ่มข้อมูลโค้ดนี้ลงในไฟล์ function.php ของคุณ:
if ( class_exists( 'WPML_Sticky_Links' ) ) { global $WPML_Sticky_Links; add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 ); }