一个WoedPress站点至少包含如下三个主要元素:
- WordPress本身
- wp-content目录的内容,包括:主题(themes)、插件(plugins)和上传目录(uploads)
- 数据库,所有的内容都会保存在这里
WordPress使用一些数据库表来存储它们之间的关系——采用一对多的关系。这意味着,一个用户可以有很多文章,而且都会关联到他们的记录中。这样可以节省空间——如果WordPress为每个用户都保存一份数据而不是每篇文章,就会需要很多数据而且占用很多空间。
大多数表都是通过一个子段来关联到其他的一个或者多个表。这些子段都是每一条记录的唯一标示,例如:post_id;
| TABLE | DATA STORED | LINKED TO |
| wp_posts | 文章,页面,附件,版本和菜单导航项 | wp_postmeta (via post_id) wp_term_relationships(viapost_id) |
| wp_postmeta | 每篇文章的元数据 | wp_posts (via post_id) |
| wp_comments | 评论 | wp_posts (via post_id) |
| wp_commentmeta | 评论的元数据 | wp_comments (via comment_id) |
| wp_term_relationships | 文章和分类法的关系 | wp_posts (via post_id) wp_term_taxonomy (viaterm_taxonomy_id) |
| wp_term_taxonomy | 分类法(包括分类和标签) | wp_term_relationships (viaterm_taxonomy_id) |
| wp_terms | 你的分类、标签和分配到自定义分类法的分类项目 | wp_term_taxonomy (via term_id) |
| wp_links | 博客中的链接 | wp_term_relationships (vialink_id) |
| wp_users | 用户 | wp_posts (via post_author) |
| wp_user_meta | 每个用户的元数据 | wp_users (via user_id) |
| wp_options | 站点的设置选项(通过设置界面、主题和插件添加的) |
还有一些需要注意的事情:
- wp_posts 是核心表,你的大多数数据都在这里保存。它几乎把所有的内容的组织在一起。
- 只有一个表是和其他表没有关系的—— wp_options。这个表保存着站点和 WordPress 安装信息,这些内容没有和文章或者用户有关联。
- wp_users 和wp_comments表是没有关联的——尽管用户可能会需要注册才能发表评,WordPress 没有真正地保存关于每个用户的评论以及谁发布的。
- 一个多站点安装将会有一些扩展表。这里没有包含这些内容,因为已经超出了这个系列的内容。
内容和数据库表的关系:
| CONTENT TYPE | TABLE(S) |
| 文章 | wp_posts |
| 页面 | wp_posts |
| 自定义文章类型 | wp_posts |
| 附件 | wp_posts |
| 链接 | wp_links |
| 导航菜单项目 | wp_posts |
| 分类 | wp_terms |
| 标签 | wp_terms |
| 自定义分类法 | wp_term_taxonomy |
| 分类法项目 | wp_terms |
| 文章元数据 | wp_post_meta |
| 小工具 | wp_options |
| 选项 | wp_options |
| 用户 | wp_users |
| 硬编码内容 | wp_posts (如果添加到文章中) wp_options (如果添加到小工具中) 主题和插件文件(如果是硬编码) |
| 第三方内容 | wp_posts (如果添加到文章中) wp_options (如果是小工具或插件添加的) 主题和插件文件(如果是硬编码) |