ข้ามการนำทาง

WPML สติ๊กกี้ลิงก์ ป้องกันไม่ให้ลิงก์ระหว่างเพจและโพสต์เสียหาย แม้ว่าเพจจะย้ายและถูกเปลี่ยนชื่อก็ตาม

WordPress ทำให้การเปลี่ยนที่อยู่หน้าเป็นเรื่องง่ายเกินไป ทำให้ลิงก์ขาเข้าทั้งหมดเสียหาย (ข้อผิดพลาด 404) ต่อไปนี้คือการดำเนินการบางประการที่อาจส่งผลให้เกิดข้อผิดพลาด 404:

  • การเปลี่ยนพาเรนต์ของเพจ
  • เปลี่ยนทาก
  • การเปลี่ยนโครงสร้างลิงก์ถาวรของไซต์

WPML ป้องกันการเปลี่ยนแปลงใน URL ไม่ให้ลิงก์ขาเข้าเสียหาย เมื่อคุณสร้างลิงก์ WPML จะทำให้ลิงก์นั้นติดหนึบโดยอัตโนมัติ แทนที่จะจัดเก็บ URL ของหน้านั้น (ในขณะที่สร้างลิงก์) ระบบจะจัดเก็บหมายเลขหน้า สิ่งนี้ไม่สามารถเปลี่ยนแปลงได้ไม่ว่าคุณจะทำอะไรก็ตาม

จากนั้น เมื่อเพจปรากฏขึ้น WPML จะแทรกลิงก์ถาวรของเพจที่คุณกำลังลิงก์ไป เมื่อใดก็ตามที่ URL เปลี่ยนหน้าที่เชื่อมโยงทั้งหมดจะอัปเดตทันทีและจะเชื่อมโยงไปยังที่อยู่ที่ถูกต้อง

ภาพหน้าจอต่อไปนี้แสดงให้เห็นว่าลิงก์ภายในมีลักษณะอย่างไรในฐานข้อมูล เมื่อเปิดใช้งาน สติ๊กกี้ลิงก์

ลิงก์กลายเป็น Sticky โดย WPML ที่ดูในตัวแก้ไขบล็อก
ลิงก์กลายเป็น Sticky โดย WPML ที่ดูในตัวแก้ไขบล็อก
ลิงก์กลายเป็น Sticky โดย WPML ที่ดูในตัวแก้ไขแบบคลาสสิก
ลิงก์กลายเป็น Sticky โดย WPML ที่ดูในตัวแก้ไขแบบคลาสสิก

ผู้ใช้ของคุณจะไม่เห็นลิงก์ “แปลก” เหล่านี้เลย แต่ WPML จะแทนที่ด้วยลิงก์ถาวรปัจจุบันเมื่อแสดงเพจ

เมื่อคุณเปิดใช้งานโมดูล สติ๊กกี้ลิงก์ คุณสามารถควบคุมได้ว่าจะให้โมดูลใดจัดการสตริงใด หากต้องการทำสิ่งนี้ ให้ไปที่หน้า WPMLลิงก์เหนียว

สติ๊กกี้ลิงก์ ก่อนการประมวลผล
สติ๊กกี้ลิงก์ ก่อนการประมวลผล

ตามค่าเริ่มต้น WPML จะเปลี่ยนลิงก์ทั้งหมดในเนื้อหาของโพสต์เป็นลิงก์ติดหนึบ คุณยังสามารถเปลี่ยนลิงก์ในวิดเจ็ตและสตริงให้เป็นลิงก์ติดหนึบได้

WPML จะช่วยให้คุณสามารถแทนที่ลิงก์ปกติทั้งหมดเป็นลิงก์แบบติดหนึบได้ นอกจากนี้ยังจะรายงานลิงก์ที่ใช้งานไม่ได้ที่มีอยู่และช่วยแก้ไขด้วย

หากคุณเปิดใช้งาน สติ๊กกี้ลิงก์ หลังจากสร้างเนื้อหาบางส่วนแล้ว ลิงก์ในเนื้อหาที่มีอยู่นั้นจะไม่เปลี่ยนเป็น Sticky Links ในทันที

หน้าจอผู้ดูแลระบบ สติ๊กกี้ลิงก์ จะบอกคุณว่ามีเนื้อหาจำนวนเท่าใดที่อาจมีลิงก์ปกติ (ไม่เหนียว) WPML สามารถสแกนเนื้อหานั้นและแปลงลิงก์ทั้งหมดเป็นลิงก์ติดหนึบ คลิกที่ปุ่ม สแกน เพื่อทำเช่นนั้น

คุณสามารถคืนลิงก์ของคุณกลับเป็นลิงก์ถาวรปกติ (ไม่เหนียวเหนอะหนะ) ได้ตลอดเวลาโดยคลิก ที่ เปลี่ยนกลับ URL ที่เหนียวเป็นลิงก์ถาวร

การลิงก์ไปยังหน้าต่างๆ ในภาษาอื่น

บางครั้ง คุณอาจต้องการแทรกลิงก์ไปยังหน้าที่เป็นภาษาอื่น เนื่องจาก สติ๊กกี้ลิงก์ จะปรับลิงก์โดยอัตโนมัติ จึงอาจทำให้คุณไม่สามารถทำเช่นนี้ได้ และปรับลิงก์ให้ชี้ไปที่ภาษาเดียวกันแทน

เพื่อให้สามารถเพิ่มลิงก์ไปยังหน้าในภาษาอื่นได้ คุณต้องเพิ่มตัวกรองต่อไปนี้ลงในไฟล์ ฟังก์ชั่น .php ของธีมของคุณ

Allow links to pages in other languages
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”) เวอร์ชันภาษาอังกฤษ ดังนั้นเราจึงใช้สองบรรทัดต่อไปนี้:

Example of specifying the list of URLs to allow linking to
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';

การจัดการลิงก์ภายในเนื้อหารหัสย่อ

ตามค่าเริ่มต้น ปลั๊กอิน สติ๊กกี้ลิงก์ จะไม่ค้นหาลิงก์ที่สร้างด้วยรหัสย่อ

หากคุณมีรหัสย่อบนหน้าเว็บของคุณที่สร้างลิงก์เช่น ” ?page_id=XX ” รหัสดังกล่าวจะแสดงต่อผู้ใช้ของคุณโดยไม่ถูกแปลงเป็นลิงก์ถาวร

ในการจัดการเนื้อหารหัสย่อเหล่านี้ด้วย สติ๊กกี้ลิงก์ ให้เพิ่มข้อมูลโค้ดนี้ลงในไฟล์ function.php ของคุณ:

Handle links inside shortcode content
if ( class_exists( 'WPML_Sticky_Links' ) ) {
	global $WPML_Sticky_Links;
	add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 );
}