ที่เก็บประเภทที่กำหนดเองอยู่ที่ไหน เพราะเมื่อเป็นชนิดที่กำหนดเองจะถูกสร้างขึ้นใน wp_posts <new_custom_post_type>
ประเภทโพสต์ถูกกำหนดให้เป็น แต่รายละเอียดของประเภทโพสต์ที่กำหนดเองใหม่จะถูกเก็บไว้ที่ไหน?
ที่เก็บประเภทที่กำหนดเองอยู่ที่ไหน เพราะเมื่อเป็นชนิดที่กำหนดเองจะถูกสร้างขึ้นใน wp_posts <new_custom_post_type>
ประเภทโพสต์ถูกกำหนดให้เป็น แต่รายละเอียดของประเภทโพสต์ที่กำหนดเองใหม่จะถูกเก็บไว้ที่ไหน?
คำตอบ:
ในที่สุดฉันก็พบข้อมูลประเภทโพสต์ที่กำหนดเอง มันถูกเก็บไว้ในตาราง wp_post ที่ post_type = ประเภทโพสต์ที่กำหนดเอง (เช่น "ผลิตภัณฑ์") ข้อมูลฟิลด์ (คอลัมน์) ถูกเก็บไว้ใน wp_postmeta โดยที่ meta_key เป็นชื่อคอลัมน์และ meta_value คือค่าคอลัมน์
แบบสอบถามนี้จะนำข้อมูลทั้งหมดที่เชื่อมโยงกับ "โพสต์ประเภท" ที่กำหนดเองกลับมา:
SELECT P.ID, P.post_title, M.meta_key, M.meta_value
FROM wp_posts AS P
INNER JOIN wp_postmeta AS M ON M.post_id = P.ID
WHERE P.post_type = 'products' and P.post_status = 'publish'
ORDER BY post_title, meta_key
รายละเอียดของประเภทโพสต์ที่กำหนดเองจะไม่ถูกเก็บไว้ที่ใดพวกเขาโหลดตอนรันไทม์พร้อมคำขอแต่ละรายการผ่านการregister_post_type
โทร
wp_posts
ตารางดังนั้นจึงค่อนข้างชัดเจนว่าพวกเขารู้ว่าข้อมูลโพสต์จะถูกเก็บไว้ที่ไหน แต่ถ้าคุณมีการตีความที่แตกต่างกันของคำถามบางทีคุณควรเพิ่มคำตอบของคุณเอง
ตามที่กล่าวถึงโดย@milo ในคำตอบนี้
ชนิดของโพสต์ไม่ได้ถูกจัดเก็บแยกต่างหากในฐานข้อมูล แต่ที่กล่าวไว้ ...
คุณสามารถดูประเภทโพสต์สาธารณะที่บันทึกไว้ทั้งหมดโดยใช้แบบสอบถาม SQL ต่อไปนี้
SELECT DISTINCT( post_type ) FROM wp_posts;
ซึ่งจะส่งออกสิ่งที่คล้ายกับ:
+----------------------+
| post_type |
+----------------------+
| attachment |
| competition |
| custom_css |
| customize_changeset |
| deprecated_log |
| experts |
| magazine |
| nav_menu_item |
| page |
| post |
| revision |
+----------------------+
นอกจากนี้หากคุณมีสิทธิ์เข้าถึงwp cliคุณสามารถเรียกใช้:
wp post-type list
ซึ่งจะแสดงผลออกเช่น:
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
| name | label | description | hierarchical | public | capability_type |
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
| post | Posts | | | 1 | post |
| page | Pages | | 1 | 1 | page |
| attachment | Media | | | 1 | post |
| revision | Revisions | | | | post |
| nav_menu_item | Navigation Menu Items | | | | post |
| custom_css | Custom CSS | | | | post |
| customize_changeset | Changesets | | | | customize_changeset |
| deprecated_log | Deprecated Calls | | | | post |
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
คุณสามารถใช้ฟังก์ชั่นget_post_types
เพื่อรับข้อมูลประเภทโพสต์ใด ๆ และทั้งหมดที่ใช้งานในเวลานั้น get_post_type_object
ที่จะได้รับข้อมูลเกี่ยวกับการที่เฉพาะเจาะจงประเภทโพสต์ใช้
get_post_types
แบบกำหนดเองเท่านั้นพารามิเตอร์_builtin
สามารถตั้งเป็นfalse
WordPress เริ่มต้นมาพร้อมกับโพสต์ตัวอย่างบางประเภทเช่นหน้าโพสต์ ฯลฯ Wordpress ได้ให้ตัวเลือกในการสร้างประเภทโพสต์ของเราเองเช่นกัน ทั้งโพสต์เริ่มต้น & โพสต์ที่กำหนดเองจะถูกเก็บไว้ในตารางเดียว "wp_posts" โดยการแยกประเภทโพสต์ทั้งหมดตามคอลัมน์ "post_type" ในตาราง "wp_posts"
เช่น
หน้า -> post_type = "หน้า",
ข้อความรับรอง -> post_type = "ข้อความรับรอง"
ฯลฯ
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ post_types นี้ซึ่งจะมีให้ที่ตาราง "wp_postmeta"