Dove sono memorizzati i tipi personalizzati di WordPress?

19 apr 2012, 19:01:12
Visualizzazioni: 41K
Voti: 26

Dove sono memorizzati i tipi personalizzati? Perché quando viene creato un tipo personalizzato, in wp_posts, il post type viene impostato su <new_custom_post_type>. Ma dove sono memorizzati i dettagli del nuovo tipo di post personalizzato?

0
Tutte le risposte alla domanda 5
0
17

Finalmente ho trovato i dati del custom post type. Sono memorizzati nella tabella wp_post dove post_type corrisponde al custom post type (ad esempio "products"). I dati dei campi (colonne) sono memorizzati in wp_postmeta dove meta_key è il nome della colonna e meta_value è il valore della colonna.

Questa query restituirà tutti i dati associati al custom post type "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 ago 2014 20:02:22
4
13

I dettagli dei custom post type non sono memorizzati da nessuna parte, vengono caricati in runtime ad ogni richiesta tramite chiamate register_post_type.

19 apr 2012 19:09:51
Commenti

hmmmm, ok, ecco perché quando cercavo le informazioni nel database, non le trovavo, grazie!

Noor Noor
19 apr 2012 19:16:45

Non è assolutamente vero.

Bainternet Bainternet
19 apr 2012 19:52:25

Questo può essere vero per la definizione del custom post type, ma non risponde alla domanda su dove siano memorizzati i dati associati a ciascuna istanza di un custom post type.

Bob Jones Bob Jones
18 ago 2014 22:49:10

@BobJones la domanda menziona la tabella wp_posts, quindi sembra abbastanza chiaro che sappiano dove sono memorizzati i dati dei post. ma se hai un'interpretazione diversa della domanda, allora forse dovresti aggiungere la tua risposta.

Milo Milo
19 ago 2014 03:54:07
3
11

Come menzionato da @milo in questa risposta

I Post Type in realtà non sono memorizzati separatamente nel database, tuttavia detto questo...

via SQL

puoi visualizzare tutti i post type PUBBLICI salvati utilizzando la seguente query SQL

SELECT DISTINCT( post_type ) FROM wp_posts;

Che produrrà un output simile a:

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

via WP CLI

Inoltre, se hai accesso a wp cli, puoi eseguire:

wp post-type list

Che produrrà un output simile a:

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | name                | label                 | description  | hierarchical | public | capability_type     |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | post                | Articoli              |              |              | 1      | post                |
 | page                | Pagine                |              | 1            | 1      | page                |
 | attachment          | Media                 |              |              | 1      | post                |
 | revision            | Revisioni             |              |              |        | post                |
 | nav_menu_item       | Voci di menu          |              |              |        | post                |
 | custom_css          | CSS personalizzato    |              |              |        | post                |
 | customize_changeset | Changeset             |              |              |        | customize_changeset |
 | deprecated_log      | Chiamate deprecate    |              |              |        | post                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
10 ott 2017 18:29:23
Commenti

Questa è una risposta migliore all'OP. grazie.

Kalnode Kalnode
16 ago 2018 18:22:58

Dove sono memorizzate le informazioni? Non riesco a trovarle nel database

axiom axiom
5 mar 2020 11:20:29

potresti stare guardando il database sbagliato. Controlla il tuo file wp-config.php per maggiori informazioni su quale database sta utilizzando il tuo sito

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

Puoi utilizzare la funzione get_post_types per ottenere informazioni su tutti i tipi di post attivi in quel momento. Per ottenere informazioni su un tipo di post specifico, utilizza get_post_type_object.

25 mag 2015 15:57:50
Commenti

+1 - Per ottenere solo i tipi di post personalizzati dalla funzione get_post_types, il parametro _builtin può essere impostato su false

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

WordPress include per impostazione predefinita alcuni tipi di contenuto campione come pagine, articoli ecc. WordPress offre anche la possibilità di creare i nostri tipi di contenuto personalizzati. Sia i contenuti predefiniti che quelli personalizzati vengono memorizzati in un'unica tabella "wp_posts", differenziando tutti i tipi di contenuto in base alla colonna "post_type" nella tabella "wp_posts".

Esempio:
pagine --> post_type="page",
testimonianze --> post_type="testimonials"
ecc.

Per ottenere maggiori informazioni su questi post_type, che sarebbero disponibili nella tabella "wp_postmeta".

25 mag 2015 15:43:54