> WordPress开发手册 > Wordpress数据表结构

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数据表结构

从上图可以看出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
(该关系还要取决与wp_term_taxonomy表中的taxonomy分类类型为“link_category”) (3)wp_terms.term_id->wp_term_taxonom.term_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
(该关系还要取决与wp_term_taxonomy表中的taxonomy分类类型为“category”或者“tag”)

(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:显示名称