Onde os tipos personalizados do wordpress são armazenados?

16

Onde os tipos personalizados são armazenados? Porque quando um tipo personalizado é criado, em wp_posts, o tipo de postagem é definido como <new_custom_post_type> . Mas onde estão os detalhes do novo tipo de postagem personalizada armazenado ??

    
por Noor 19.04.2012 / 18:01

5 respostas

12

Os detalhes dos tipos de postagem personalizados não são armazenados em nenhum lugar, eles são carregados em tempo de execução com cada solicitação por meio de register_post_type chamadas.

    
por Milo 19.04.2012 / 18:09
11

Eu finalmente encontrei os dados do tipo de postagem personalizada. Ele é armazenado na tabela wp_post, onde post_type = tipo de postagem personalizado (por exemplo, "produtos"). Os dados do campo (coluna) são armazenados em wp_postmeta, onde meta_key é o nome da coluna e meta_value é o valor da coluna.

Esta consulta trará de volta todos os dados associados ao tipo de mensagem personalizada "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
    
por Bob Jones 22.08.2014 / 19:02
4

Você pode usar a função get_post_types para obter informações sobre todos os tipos de post que estão ativos no momento . Para obter informações sobre um tipo de postagem específico, use get_post_type_object .

    
por Manny Fleurmond 25.05.2015 / 14:57
4

Como mencionado por @milo nesta resposta

Os tipos de postagem não são armazenados separadamente no banco de dados, no entanto, o que foi dito ...

via SQL

você pode visualizar todos os tipos de postagem PUBLIC usando a seguinte consulta sql

SELECT DISTINCT( post_type ) FROM wp_posts;

Que produzirá algo semelhante a:

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

via WP CLI

Além disso, se você tiver acesso a wp cli , poderá executar:

wp post-type list

Que produzirá algo como:

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | 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                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
    
por Craig Wayne 10.10.2017 / 17:29
1

O WordPress padrão vem com alguns exemplos de tipos de postagem, como páginas, postagens, etc. O Wordpress também deu a opção de criar nossos próprios tipos de postagem personalizados. Ambos padrão & postagens personalizadas são armazenadas em uma única tabela "wp_posts" diferenciando todos os tipos de postagens com base na coluna "post_type" na tabela "wp_posts".

Por exemplo:
  páginas - > post_type="page",
  testiminiais - > post_type="depoimentos"
etc

Para obter mais informações sobre este post_types, que estaria disponível na tabela "wp_postmeta".

    
por Raj 25.05.2015 / 14:43