WordPress自定义类型存储在哪里?


20

自定义类型存储在哪里?因为在创建自定义类型时,在wp_posts中,帖子类型被设置为<new_custom_post_type>。但是新的自定义帖子类型的详细信息存储在哪里?

Answers:


14

我终于找到了自定义帖子类型数据。它存储在wp_post表中,其中post_type =自定义帖子类型(例如“产品”)。字段(列)数据存储在wp_postmeta中,其中meta_key是列名,meta_value是列值。

此查询将带回与自定义帖子类型“产品”相关的所有数据:

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

12

自定义帖子类型的详细信息不会存储在任何地方,它们会在运行时随register_post_type调用随每个请求一起加载。


嗯,好,那是y,当我尝试在数据库中搜索信息时,没有看到它们,谢谢!
Noor 2012年

1
那根本不是真的。
Bainternet

3
这对于自定义帖子类型的定义可能是正确的,但是它没有解决与自定义帖子类型的每个实例相关联的数据存储在何处的问题。
鲍勃·琼斯

@BobJones这个问题提到了wp_posts表格,因此很显然他们知道发布数据的存储位置。但是,如果您对问题的理解不同,那么也许您应该添加自己的答案。
米洛

7

正如@milo在这个答案中提到的

实际上,帖子类型实际上并没有单独存储在数据库中。

通过SQL

您可以使用以下sql查询查看所有已保存的PUBLIC帖子类型

SELECT DISTINCT( post_type ) FROM wp_posts;

它将输出类似于以下内容:

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

通过WP CLI

另外,如果您有权访问wp cli,则可以运行:

wp post-type list

它将输出类似:

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

这是对OP的更好回答。谢谢。
MarsAndBack '18年


1

WordPress默认带有一些示例帖子类型,例如页面,帖子等。Wordpress还提供了创建我们自己的自定义帖子类型的选项。通过基于“ wp_posts”表中的“ post_type”列区分所有帖子类型,默认和自定义帖子都存储在单个表“ wp_posts”中。

例如:
pages-> post_type =“ page”,
见证-> post_type =“ testimonials”

要获取有关此post_types的更多信息,可在“ wp_postmeta”表中找到该信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.