Unde sunt stocate tipurile personalizate în WordPress?

19 apr. 2012, 19:01:12
Vizualizări: 41K
Voturi: 26

Unde sunt stocate tipurile personalizate? Deoarece atunci când este creat un tip personalizat, în wp_posts, tipul postării este setat la <new_custom_post_type>. Dar unde sunt stocate detaliile noului tip de postare personalizat??

0
Toate răspunsurile la întrebare 5
0
17

Am găsit în sfârșit datele pentru tipul de postare personalizat. Acestea sunt stocate în tabela wp_post unde post_type = tipul de postare personalizat (de exemplu "products"). Datele câmpurilor (coloanelor) sunt stocate în wp_postmeta unde meta_key este numele coloanei și meta_value este valoarea coloanei.

Această interogare va returna toate datele asociate cu tipul de postare personalizat "products":

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
22 aug. 2014 20:02:22
4
13

Detaliile tipurilor personalizate de postări nu sunt stocate nicăieri, ele sunt încărcate la fiecare cerere prin apelurile register_post_type.

19 apr. 2012 19:09:51
Comentarii

hmmmm, ok, deci de asta nu le-am găsit în baza de date când căutam informațiile, mulțumesc!

Noor Noor
19 apr. 2012 19:16:45

Nu este deloc adevărat.

Bainternet Bainternet
19 apr. 2012 19:52:25

Aceasta poate fi adevărat pentru definiția tipului de postare personalizată, dar nu răspunde la întrebarea unde sunt stocate datele asociate fiecărei instanțe a unui tip de postare personalizată.

Bob Jones Bob Jones
18 aug. 2014 22:49:10

@BobJones întrebarea menționează tabelul wp_posts, deci pare destul de clar că știe unde sunt stocate datele postărilor. dar dacă ai o interpretare diferită a întrebării, atunci poate ar trebui să adaugi propriul tău răspuns.

Milo Milo
19 aug. 2014 03:54:07
3
11

După cum a menționat @milo în acest răspuns

Tipurile de postări nu sunt de fapt stocate separat în baza de date, dar având în vedere acest lucru...

Prin SQL

Puteți vizualiza toate tipurile de postări PUBLICE salvate folosind următoarea interogare SQL:

SELECT DISTINCT( post_type ) FROM wp_posts;

Care va afișa ceva similar cu:

+----------------------+
| post_type            |
+----------------------+
| attachment           |
| competition          |
| custom_css           |
| customize_changeset  |
| deprecated_log       |
| experts              |
| magazine             |
| nav_menu_item        |
| page                 |
| post                 |
| revision             |
+----------------------+

Prin WP CLI

În plus, dacă aveți acces la wp cli, puteți rula:

wp post-type list

Care va afișa ceva de genul:

+---------------------+-----------------------+--------------+--------------+--------+---------------------+
| name                | label                 | description  | hierarchical | public | capability_type     |
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
| post                | Postări               |              |              | 1      | post                |
| page                | Pagini                |              | 1            | 1      | page                |
| attachment          | Media                 |              |              | 1      | post                |
| revision            | Revizii               |              |              |        | post                |
| nav_menu_item       | Elemente de meniu      |              |              |        | post                |
| custom_css          | CSS Personalizat      |              |              |        | post                |
| customize_changeset | Setări de modificări   |              |              |        | customize_changeset |
| deprecated_log      | Apeluri învechite      |              |              |        | post                |
+---------------------+-----------------------+--------------+--------------+--------+---------------------+
10 oct. 2017 18:29:23
Comentarii

Acesta este un răspuns mai bun pentru OP. mulțumesc.

Kalnode Kalnode
16 aug. 2018 18:22:58

Unde sunt stocate informațiile? Nu le găsesc în baza de date

axiom axiom
5 mar. 2020 11:20:29

s-ar putea să te uiți în baza de date greșită. Verifică fișierul wp-config.php pentru mai multe informații despre ce bază de date folosește site-ul tău

Craig Wayne Craig Wayne
5 mar. 2020 13:41:10
1

Puteți utiliza funcția get_post_types pentru a obține informații despre toate tipurile de postări care sunt active în acel moment. Pentru a obține informații despre un anumit tip de postare, folosiți get_post_type_object.

25 mai 2015 15:57:50
Comentarii

+1 - Pentru a returna doar tipurile de postări personalizate folosind get_post_types, parametrul _builtin poate fi setat la false

Nicolai Grossherr Nicolai Grossherr
25 mai 2015 20:34:59
0

WordPress vine implicit cu câteva tipuri de postări predefinite, cum ar fi pagini, articole etc. WordPress oferă și opțiunea de a crea propriile tipuri personalizate de postări. Atât postările implicite, cât și cele personalizate sunt stocate într-un singur tabel numit "wp_posts", diferențiate în funcție de coloana "post_type" din tabelul "wp_posts".

Exemple:
pagini --> post_type="page",
recomandări --> post_type="testimonials"
etc.

Pentru a obține mai multe informații despre aceste tipuri de postări, acestea sunt disponibile în tabelul "wp_postmeta".

25 mai 2015 15:43:54