Où sont stockés les types personnalisés wordpress?

16

Où sont stockés les types personnalisés? En effet, lorsqu'un type personnalisé est créé, dans wp_posts, le type de publication est défini sur <new_custom_post_type> . Mais où sont les détails du nouveau type de message personnalisé stockés?

    
posée Noor 19.04.2012 - 18:01

5 réponses

12

Les détails des types d'articles personnalisés ne sont stockés nulle part, ils sont chargés à l'exécution avec chaque demande via register_post_type appelle.

    
réponse donnée Milo 19.04.2012 - 18:09
11

J'ai finalement trouvé les données de type publication personnalisée. Il est stocké dans la table wp_post où post_type = type de publication personnalisé (par exemple, "produits"). Les données de champ (colonne) sont stockées dans wp_postmeta, où méta_key est le nom de la colonne et meta_value est la valeur de la colonne.

Cette requête ramènera toutes les données associées au type de publication personnalisé "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
    
réponse donnée Bob Jones 22.08.2014 - 19:02
4

Vous pouvez utiliser la fonction get_post_types pour obtenir des informations sur tous les types de publication actifs à ce moment-là. . Pour obtenir des informations sur un type de message spécifique, utilisez get_post_type_object .

    
réponse donnée Manny Fleurmond 25.05.2015 - 14:57
4

Comme mentionné par @milo dans cette réponse

Les types de publication ne sont pas stockés séparément dans la base de données, mais cela dit ...

via SQL

vous pouvez afficher tous les types de publication PUBLIC enregistrés à l'aide de la requête SQL suivante

SELECT DISTINCT( post_type ) FROM wp_posts;

Ce qui produira quelque chose de similaire à:

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

via l'interface de ligne de commande WP

De plus, si vous avez accès à wp cli , vous pouvez exécuter:

wp post-type list

Ce qui produira quelque chose comme:

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | 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                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
    
réponse donnée Craig Wayne 10.10.2017 - 17:29
1

Par défaut, WordPress contient des exemples de types de publication, tels que des pages, des publications, etc. Wordpress offre également la possibilité de créer nos propres types de publication personnalisés. Par défaut & les publications personnalisées sont stockées dans la table unique "wp_posts" en différenciant tous les types de publication en fonction de la colonne "post_type" de la table "wp_posts".

Exemple:
  pages - > post_type="page",
  Témoignages - > post_type="testimonials"
etc

Pour obtenir plus d'informations sur ce post_types, qui serait disponible dans la table "wp_postmeta".

    
réponse donnée Raj 25.05.2015 - 14:43

Lire d'autres questions sur les étiquettes