ฉันเห็นว่าฉันสามารถแก้ไขข้อมูลลิงก์ในหน้า wp-admin> การตั้งค่า> permalink อย่างไรก็ตามข้อมูลนั้นเก็บอยู่ที่ไหนในฐานข้อมูลจริง?
ฉันเห็นว่าฉันสามารถแก้ไขข้อมูลลิงก์ในหน้า wp-admin> การตั้งค่า> permalink อย่างไรก็ตามข้อมูลนั้นเก็บอยู่ที่ไหนในฐานข้อมูลจริง?
คำตอบ:
ในตารางมีการบันทึกที่wp_options
option_name = "permalink_structure"
อย่างไรก็ตามการควบคุม url ที่แท้จริงและสุดท้ายของการเขียนใหม่ถูกควบคุมโดยWP_Rewrite APIซึ่งจะบันทึก / แคชข้อมูลในrewrite_rules
ตัวเลือก wordpress (พบได้ในwp_options
ตาราง)
แก้ไข:
นอกจากนี้เมื่อแก้ไขหน้า / โพสต์คุณสามารถเปลี่ยน "Permalink" สำหรับหน้า / โพสต์นั้น (ด้านล่างตรงที่คุณเปลี่ยนชื่อ) สิ่งที่ทำอยู่เพียงตั้งค่าpost_name
ฟิลด์สำหรับรายการ / โพสต์ของหน้านั้นในwp_posts
ตาราง (หรือที่เรียกว่า "กระสุน" สำหรับหน้านั้น)
สำหรับทุกหน้าดูเหมือนว่ากฎการเขียนซ้ำเริ่มต้นมีดังต่อไปนี้:
[(.?.+?)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(.?.+?)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]
ฉันได้รับรายการนั้นโดยใช้รหัส PHP echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");
ดูเหมือนว่าจะไม่มีวิธีการบิวด์อินใด ๆ ในการแก้ไขการกำหนดเส้นทางสำหรับหน้าเว็บเนื่องจากโครงสร้าง Permalink ใช้กับการโพสต์เท่านั้น
แก้ไข:
ข้อมูลสุ่มเพิ่มเติมที่ฉันค้นพบ: ถ้า permalink_structure ของคุณเป็นสตริงว่าง (ซึ่งเป็นตัวเลือก "ค่าเริ่มต้น" ที่คุณสามารถเลือกได้) wordpress จะข้ามการเขียนใหม่ทั้งหมด - ฉันไม่แน่ใจว่าทำไมถึงเป็นเช่นนั้น แต่เป็น .
ข้อมูลจริง - เช่น 'กระสุน' สำหรับหน้าหรือโพสต์จะถูกเก็บไว้ใน wp_posts ใต้คอลัมน์ post_name นี่เป็นเวอร์ชันที่ช้าของ post_title ตามปกติ แต่สามารถเขียนทับได้ทีละหน้า
ลิงก์ถาวรทั้งหมดถูกแยกโครงสร้างตามการตั้งค่าที่คุณเลือกในการตั้งค่า -> ลิงก์ถาวร แต่กระสุนจริงอยู่ใน post_name ใน wp_posts
ข้อมูล Permalink ถูกเก็บไว้ใน wp_options
ชื่อตาราง: - $ wpdb-> คำนำหน้า 'ตัวเลือก'
และชื่อตัวเลือกการค้นหาเช่น 'permalink_structure' ในตารางตัวเลือก
ในแถวนั้นในตารางคุณสามารถดูโครงสร้างความคิดเห็น