wake-up-neo.net

Wo werden benutzerdefinierte WordPress-Typen gespeichert?

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?

20
Noor

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
13
Bob Jones

Die Details der benutzerdefinierten Beitragstypen werden nirgendwo gespeichert, sie werden zur Laufzeit bei jeder Anforderung über register_post_type calls geladen.

12
Milo

Wie von @milo in dieser Antwort erwähnt

Beitragstypen werden jedoch nicht separat in der Datenbank gespeichert.

über SQL

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             |
+----------------------+

über WP CLI

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                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
5
Craig Wayne

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.

4
Manny Fleurmond

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".

1
Raj