WordPress数据表结构
如果是一个普通的用户,不需要了解wordpress数据库的结构。但是,如果你正在写一个插件,你应该会对wordpress如何处理它的数据和关系感兴趣。如果你已经尝试使用已经存在的wordpress api 去访问你需要的数据,但不直接访问数据库的情况下,这是不可能的,WordPress的提供WPDB的类,使这项任务变得简单。
WordPress数据库的11个数据表
表名 |
描述 |
wp_commentmeta | 文章评论额外信息表 |
wp_comments | 文章评论信息表 |
wp_links | 链接信息表 |
wp_options | 基本配置信息表,通常通过get_option来操作,该表通常作为插件存储数据的一个地方。 |
wp_postmeta | 文章额外数据表,例如文章浏览次数,文章的自定义字段等都存储在这里。 |
wp_posts | 文章信息表,包括了日志、附件、页面等等信息。是WordPress最重要的一个数据表。 |
wp_terms | 文章分类、链接分类、标签的信息表。 |
wp_term_relationships | 分类与文章信息表(wp_posts)、链接表(wp_links)的关联表。 |
wp_term_taxonomy | 分类信息表,区分wp_terms信息的分类类型,有category、link_category和tag三种分类类型。 |
wp_usermeta | 用户额外信息表 |
wp_users | 用户基本信息表。存放系统所有用户基本信息。 |
WordPress数据库表之间的关系
要搞明白这个问题以及对WordPress数据表之间的关系有更加深刻的理解,让我们先来想想WordPress博客系统的功能,默认安装的WordPress版本博客系统涉及的数据信息主要包括了用户信息、分类信息、链接信息、文章信息、文章评论信息、基本配置信息这6类信息。
- 用户信息:系统中所有注册用户的帐号信息。
- 分类信息:包括了文章分类、链接分类、标签这3中分类信息。
- 链接信息:就是博客系统中的友情链接信息。
- 文章信息:博客系统中的日志、日志产生的附件、页面等信息。
- 文章评论信息:对具体日志或者附件的评论信息。
- 基本配置信息:系统中的基本配置信息,例如博客名称,博客地址等等。
WordPress数据库的11个数据表就是为了存储以上6类数据信息而设计,这些表之间的总体关系结构如下图所示:
从上图可以看出WordPress博客系统6类数据信息分别所涉及的数据表及关系如下表所示:
信息 类型 | 涉及数据表及关联关系 |
用户信息 | 数据表:wp_users、wp_usermeta,关联关系:wp_users.ID->wp_usermeta.user_id |
分类信息 | 数据表:wp_terms、wp_term_taxonomy关联关系:wp_terms.term_id->wp_term_taxonomy.term_id |
链接信息 |
数据表:wp_links、wp_term_relationships、wp_terms、wp_term_taxonomy、 wp_users、wp_usermeta关联关系: 一,确定链接所属分类 (1)wp_links.link_id->wp_term_relationships.object_id, (2)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id 二、确定链接所有者 (4)wp_links.link_owner->wp_users.ID(5)wp_users.ID->wp_usermeta.user_id |
文章信息 |
数据表:wp_posts、wp_postmeta、wp_comments、wp_term_relationships、wp_terms、 wp_term_taxonomy、wp_users、wp_usermeta关联关系:一、确定文章信息 (1)wp_posts.ID->wp_postsmeta.post_id 二、确定文章评论 (2)wp_posts.ID->wp_comments.comment_post_id 三、确定文章评论的作者 (3)wp_comments.comment_author->wp_users.ID (4)wp_users.ID->wp_usermeta.user_id 四、确定文章所属分类 (5)wp_posts.ID->wp_term_relationships.object_id, (6)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id (7)wp_terms->term_id->wp_term_taxonomy 五、确定文章作者 (8)wp_posts.author->wp_users.ID; (9)wp_users.ID->wp_usermeta.user_id |
文章评论信息 | 数据表:wp_comments、wp_posts、wp_users、wp_usermeta关联关系: 一、确定评论的文章 (1)wp_comments.comment_post_id->wp_posts.ID 二、确定评论的作者 (2)wp_comments.comment_author->wp_users.ID(3)wp_users.ID->wp_usermeta.user_id |
基本配置信息 | 数据表:wp_options没有关联关系 |
WordPress数据表字段详解
- wp_commentmeta
- meta_id:自增唯一ID
- comment_id:对应评论ID
- meta_key:键名
- meta_value:键值
- wp_comments
- comment_ID:自增唯一ID
- comment_post_ID:对应文章ID
- comment_author:评论者
- comment_author_email:评论者邮箱
- comment_author_url:评论者网址
- comment_author_IP:评论者IP
- comment_date:评论时间
- comment_date_gmt:评论时间(GMT+0时间)
- comment_content:评论正文
- comment_karma:未知
- comment_approved:评论是否被批准
- comment_agent:评论者的USER AGENT
- comment_type:评论类型(pingback/普通)
- comment_parent:父评论ID
- user_id:评论者用户ID(不一定存在)
- wp_links
- link_id:自增唯一ID
- link_url:链接URL
- link_name:链接标题
- link_image:链接图片
- link_target:链接打开方式
- link_description:链接描述
- link_visible:是否可见(Y/N)
- link_owner:添加者用户ID
- link_rating:评分等级
- link_updated:未知
- link_rel:XFN关系
- link_notes:XFN注释
- link_rss:链接RSS地址
- wp_options
- option_id:自增唯一ID
- blog_id:博客ID,用于多用户博客,默认0
- option_name:键名
- option_value:键值
- autoload:在WordPress载入时自动载入(yes/no)
- wp_postmeta
- meta_id:自增唯一ID
- post_id:对应文章ID
- meta_key:键名
- meta_value:键值
- wp_posts
- ID:自增唯一ID
- post_author:对应作者ID
- post_date:发布时间
- post_date_gmt:发布时间(GMT+0时间)
- post_content:正文
- post_title:标题
- post_excerpt:摘录
- post_status:文章状态(publish/auto-draft/inherit等)
- comment_status:评论状态(open/closed)
- ping_status:PING状态(open/closed)
- post_password:文章密码
- post_name:文章缩略名
- to_ping:未知
- pinged:已经PING过的链接
- post_modified:修改时间
- post_modified_gmt:修改时间(GMT+0时间)
- post_content_filtered:未知
- post_parent:父文章,主要用于PAGE
- guid:未知
- menu_order:排序ID
- post_type:文章类型(post/page等)
- post_mime_type:MIME类型
- comment_count:评论总数
- wp_terms
- term_id:分类ID
- name:分类名
- slug:缩略名
- term_group:未知
- wp_term_relationships
- object_id:对应文章ID/链接ID
- term_taxonomy_id:对应分类方法ID
- term_order:排序
- wp_term_taxonomy
- term_taxonomy_id:分类方法ID
- term_id:taxonomy:分类方法(category/post_tag)
- description:未知
- parent:所属父分类方法ID
- count:文章数统计
- wp_usermeta
- umeta_id:自增唯一ID
- user_id:对应用户ID
- meta_key:键名
- meta_value:键值
- wp_users
- ID:自增唯一ID
- user_login:登录名
- user_pass:密码
- user_nicename:昵称
- user_email:Email
- user_url:网址
- user_registered:注册时间
- user_activation_key:激活码
- user_status:用户状态
- display_name:显示名称