Wo werden benutzerdefinierte Typen gespeichert? Denn beim Erstellen eines benutzerdefinierten Typs wird in wp_posts der Post-Typ auf <new_custom_post_type>
festgelegt. Aber wo sind die Details des neuen benutzerdefinierten Beitragstyps gespeichert?
Ich habe endlich die benutzerdefinierten Post-Typ-Daten gefunden. Es wird in der Tabelle wp_post gespeichert, wobei post_type = benutzerdefinierter Posttyp (z. B. "Produkte"). Die Felddaten (Spaltendaten) werden in wp_postmeta gespeichert, wobei meta_key der Spaltenname und meta_value der Spaltenwert ist.
Diese Abfrage bringt alle Daten zurück, die dem benutzerdefinierten Beitragstyp "Produkte" zugeordnet sind:
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
Die Details der benutzerdefinierten Beitragstypen werden nirgendwo gespeichert, sie werden zur Laufzeit bei jeder Anforderung über register_post_type
calls geladen.
Wie von @milo in dieser Antwort erwähnt
Beitragstypen werden jedoch nicht separat in der Datenbank gespeichert.
mit der folgenden SQL-Abfrage können Sie alle gespeichertenPUBLICPost-Typen anzeigen
SELECT DISTINCT( post_type ) FROM wp_posts;
Welches wird etwas ähnliches ausgeben:
+----------------------+
| post_type |
+----------------------+
| attachment |
| competition |
| custom_css |
| customize_changeset |
| deprecated_log |
| experts |
| magazine |
| nav_menu_item |
| page |
| post |
| revision |
+----------------------+
Wenn Sie Zugriff auf wp cli haben, können Sie außerdem Folgendes ausführen:
wp post-type list
Welches wird so etwas wie ausgeben:
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
| 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 |
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
Sie können die Funktion get_post_types
verwenden, um Informationen zu allen zu diesem Zeitpunkt aktiven Beitragstypen abzurufen. Verwenden Sie get_post_type_object
, um Informationen zu einem bestimmten Beitragstyp abzurufen.
Standardmäßig enthält WordPress einige Beispielposttypen wie Seiten, Posts usw. Wordpress bietet die Möglichkeit, auch eigene benutzerdefinierte Posttypen zu erstellen. Sowohl Standard-Posts als auch benutzerdefinierte Posts werden in einer einzigen Tabelle "wp_posts" gespeichert, indem alle Posts-Typen basierend auf der Spalte "post_type" in der Tabelle "wp_posts" unterschieden werden.
Z.B:
Seiten -> post_type = "Seite",
Testimonials -> post_type = "Testimonials"
usw
Weitere Informationen zu diesen post_types erhalten Sie in der Tabelle "wp_postmeta".