1、偶然的情况下看到这个一个研究数据库表的文章,于是重庆 seo 在网上找了几份资料,把它整理完整,转载过来,对一般人没什么用,但是对那些想玩转 wordpress 或者想自己修改一个模板乃至于做做二次开发的朋友有用。WordPress 数据库共有 10 个表,按照功能大致分为四类。* user: 用户信息,包括 wp_users 表和 wp_usermeta 表。* post: 文章及评论信息,包括 wp_posts、wp_postmeta、wp_comments、wp_post2cat 以及wp_categories 五个表。* link: 链接信息,包括 wp_links 表和 wp_lin
2、kcategories 表。* option: 全局设置信息,包括 wp_options 表。表的命名规则也很有意思。基本规则总结如下:* 保存对象的基本属性,命名为 wp_objects,使用复数(如 wp_posts,wp_comments) ;* 保存对象的扩展属性,命名为 wp_objectmeta,使用单数(如 wp_postmeta,wp_usermeta);* 多对多关系,命名为 wp_a2b,其中 a 和 b 分别为多对多关系两端的对象名的缩写(如wp_post2cat)。wp_categories: 用于保存分类相关信息的表。包括了 5 个字段,分别是 :* cat_ID 每
3、个分类唯一的 ID 号,为一个 bigint(20)值,且带有附加属性 auto_increment。* cat_name 某个分类的名称,为一个 varchar(55)值。* category_nicename 指定给分类的一个便于记住的名字,也就是所谓的 slug,这是一个varchar(200)值。* category_description 某个分类的详细说明,longtext 型值。* category_parent 分类的上级分类,为一个 int(4)值,对应是的当前表中的 cat_ID,即wp_categories.cat_ID。无上级分类时,这个值为 0。wp_comments
4、: 用于保存评论信息的表。包括了 15 个字段,分别为:* comment_ID 每个评论的唯一 ID 号,是一个 bigint(20)值。带有附加属性auto_increment。* comment_post_ID 每个评论对应的文章的 ID 号,int(11) 值,等同于 wp_posts.ID。* comment_author 每个评论的评论者名称,tinytext 值。* comment_author_email 每个评论的评论者电邮地址,varchar(100) 值。* comment_author_url 每个评论的评论者网址,varchar(200)值。* comment_aut
5、hor_IP 每个评论的评论者的 IP 地址,varchar(100)值。* comment_date 每个评论发表的时间,datetime 值(是加上时区偏移量后的值) 。* comment_date_gmt 每个评论发表的时间, datetime 值 (是标准的格林尼治时间)。* comment_content 每个评论的具体内容,text 值。* comment_karma 不详,int(11) 值,默认为 0。* comment_approved 每个评论的当前状态,为一个枚举值 enum(0,1,spam),0 为等待审核,1 为允许发布,spam 为垃圾评论。默认值为 1。* co
6、mment_agent 每个评论的评论者的客户端信息,varchar(255)值,主要包括其浏览器和操作系统的类型、版本等资料。* comment_type 不详,varchar(20)值。* comment_parent 某一评论的上级评论,int(11)值,对应 wp_comment.ID,默认为 0,即无上级评论。* user_id 某一评论对应的用户 ID,只有当用户注册后才会生成,int(11)值,对应wp_users.ID。未注册的用户,即外部评论者,这个 ID 的值为 0。wp_linkcategories: 用于保存在 WP 后台中添加的链接的相关信息的表。包括 13 个字段:
7、* cat_id 每个链接分类的唯一 ID,bigint(20) 值,为一个自增量 auto_increment。* cat_name 每个链接分类的名字,tinytext 值。* auto_toggle -这个字段所包含的是一个比较特别的属性。如果为 Y,则当该分类中加入了新链接时,其它的链接会变为不可见。它是一个枚举型的值 enum(Y,N),默认为N。* show_images 该字段也是枚举值 enum(Y,N),默认为 Y。用户指定是否允许在该链接分类显示图片链接。* show_description 该字段指定相应的链接分类下的链接,是否再专门 换行显示它们的说明,这是一个枚举型值
8、 enum(Y,N),默认为 N,即不显示说明( 但会通过 title 属性中显示说明)。* show_rating 显示该分类下链接的等级。它也是一个枚举值 enum(Y,N),默认为 Y。此时,你可以用链接等级的方式来对该链接分类下的链接进行排序。* show_updated 指定该链接分类有更新是,是否进行显示,枚举值 enum(Y,N),默认为 Y。* sort_order 指定该链接分类中链接的排序依据,varchar(64)值。一般用链接的名字(name,即 wp_links.link_name)或 ID(id,即 wp_links.link_id)。* sort_desc 指定链
9、接分类的排序方式,枚举值 enum(Y,N),默认为 N,即用降序。* text_before_link 该链接分类下每个链接的前置 html 文本,varchar(128) 值,默认是列表开始标签 。* text_after_link 该链接分类下每个链接的中,链接与说明文字(wp_links.link_description)之间的 html 文本,varchar(128)值,默认是换行标签 。* text_after_all 该链接分类下每个链接的后置 html 文本,varchar(128) 值,默认是列表结束标签 。* list_limit 用于规定某一链接分类中显示的(可设定的 ?
10、)链接的个数,int(11)值,默认为-1,即对链接分类下链接的个数无限制。wp_links :用于保存用户输入到 Wordpress 中的链接(通过 Link Manager)的表。共 14 个字段:* link_id 每个链接的唯一 ID 号,bigint(20) 值,附加属性为 auto_increment。* link_url 每个链接的 URL 地址,varchar(255)值,形式为 http:/开头的地址。* link_name 单个链接的名字,varchar(255)值。* link_image 链接可以被定义为使用图片链接,这个字段用于保存该图片的地址,为varchar(25
11、5)值。* link_target 链接打开的方式,有三种,_blank 为以新窗口打开,_top 为就在本窗口中打开并在最上一级,none 为不选择,会在本窗口中打开。这个字段是 varchar(25)值。* link_category 某个链接对应的链接分类,为 int(11)值。相当于wp_linkcategories.cat_id。* link_description 链接的说明文字。用户可以选择显示在链接下方还是显示在 title 属性中。varchar(255)值。* link_visible 该链接是否可以,枚举 enum(Y,N)值,默认为 Y,即可见。* link_owner
12、 某个链接的创建人,为一 int(11)值,默认是 1。(应该对应的就是wp_users.ID)* link_rating 链接的等级, int(11)值。默认为 0。* link_updated 链接被定义、修改的时间,datetime 值。* link_rel 链接与定义者的关系,由 XFN Creator 设置,varchar(255) 值。* link_notes 链接的详细说明,mediumtext 值。* link_rss 该链接的 RSS 地址,varchar(255)值。wp_options: 用于保存 Wordpress 相关设置、参数的表,共 11 个字段。最重要是的opt
13、ion_value 字段,里面包括了大量的重要信息。* option_id 选项的 ID,bigint(20)值,附加 auto_increment 属性。* blog_id 不详。或许用在单在用户的 WP 版本上并不重要吧,或许是针对不同用户的Blog 来设置的一个值。int(11)值,默认为 0,即当前 blog。* option_name 选项名称,varchar(64)值。* option_can_override 该选项是否可被重写、更新,枚举 enum(Y,N)值,默认为 Y,即可被重写、更新。* option_type 选项的类型,作用不详,int(11)值,默认为 1。* op
14、tion_value 选项的值,longtext 值,这个字段的内容比较重要。Wordpress 初始化时就会设定好约 70 个默认的值,这里暂不介绍。* option_width 选项的宽(?),作用不详。int(11) 值,默认为 20。* option_height 选项的高(?),作用不详。int(11)值,默认为 8。* option_description 针对某个选项的说明, tinytext 值。* option_admin_level 设定某个选项可被操纵的用户等级(详情见我的相关文章) ,int(11)值,默认为 1。* autoload 选项是否每次都被自动加载,枚举 e
15、num(yes,no)值,默认为 yes。wp_post2cat: 用于保存文章(posts)与分类(categories)之间的关系的表,只有三个字段:* rel_id 关联 ID,bigint(20)值,是个有 auto_increment 属性的自增量。* post_id 文章的 ID,bigint(20)值,相当于 wp_posts.ID。* category_id 分类的 ID,也是 bigint(20)值,相当于 wp_categories.ID。文章与分类的关系的形成是这样的:rel_id 是一个不断增加的自增量,它用于识别每不同的post。post_id 可以重复 (当它对应多
16、个分类时 ),因为它可被 rel_id 识别,所以不会出现混乱。每个 post_id 可对应多个 category_id 时,一个 rel_id +post_id 组合,可以识别某一个分类,因此每个文章的分类可以是不同的。通过这张表,可以非常快速、高效地找出某篇文章(post)对应了哪些分类 (category),反之亦然。-wp_postmeta 用于保存文章的元信息(meta) 的表,四个字段:* meta_id 元信息 ID,bigint(20)值,附加属性为 auto_increment。* post_id 文章 ID,bigint(20)值,相当于 wp_posts.ID。* met
17、a_key 元信息的关键字, varchar(255)值。* meta_value 元信息的值,text 值。这些内容主要是在文章及页面编辑页(Write Post, Write Page)的”Add a new custom field tothispost(page):”下进行设定的。meta_key 就对应名为”key”的下拉列表中的项,而值由用户自己填上(某些时候,wp 也会自动加入,如文章中有的音频媒体 )。wp_posts: 用于保存你所有的文章(posts) 的相关信息的表,非常的重要。一般来讲,它存储的数据是最多的。一共包括了 21 个字段。* ID 每篇文章的唯一 ID, b
18、igint(20)值,附加属性 auto_increment。* post_author 每篇文章的作者的编号,int(4)值,应该对应的是 wp_users.ID。* post_date 每篇文章发表的时间,datetime 值。它是 GMT 时间加上时区偏移量的结果。* post_date_gmt 每篇文章发表时的 GMT(格林威治)时间, datetime 值。* post_content 每篇文章的具体内容,longtext 值。你在后台文章编辑页面中写入的所有内容都放在这里。* post_title 文章的标题, text 值。* post_category 文章所属分类, int(
19、4)值。* post_excerpt 文章摘要, text 值。* post_status -文章当前的状态,枚举 enum(publish,draft,private,static,object)值,publish 为已发表,draft 为草稿,private 为私人内容 (不会被公开) ,static(不详),object( 不详)。默认为 publish。* comment_status -评论设置的状态,也是枚举 enum(open,closed,registered_only)值,open 为允许评论,closed 为不允许评论,registered_only 为只有注册用户方可评论
20、。默认为 open,即人人都可以评论。* ping_status ping 状态,枚举 enum(open,closed)值,open 指打开 pingback 功能,closed 为关闭。默认值是 open。* post_password 文章密码,varchar(20)值。文章编辑才可为文章设定一个密码,凭这个密码才能对文章进行重新强加或修改。* post_name 文章名,varchar(200)值。这通常是用在生成 permalink 时,标识某篇文章的一段文本或数字,也即 post slug。* to_ping 强制该文章去 ping 某个 URI。text 值。* pinged 该
21、文章被 pingback 的历史记录,text 值,为一个个的 URI。* post_modified 文章最后修改的时间,datetime 值,它是 GMT 时间加上时区偏移量的结果。* post_modified_gmt 文章最后修改的 GMT 时间,datetime 值。* post_content_filtered 不详, text 值。post_parent 文章的上级文章的 ID,int(11)值对应的是 wp_posts.ID。默认为 0,即没有上级文章。* guid 这是每篇文章的一个地址, varchar(255)值。默认是这样的形式: http:/your.blog.sit
22、e/?p=1,如:http:/ permalink 功能,则通常会是: 你的 Wordpress 站点地址+文章名。* menu_order 不详,int(11)值,默认为 0。* post_type 文章类型,具体不详,varchar(100)值。默认为 0。* post_mime_type 不详。varchar(100)值。* comment_count 评论计数,具体用途不详,bigint(20)值。wp_usermeta : 用于保存用户元信息 (meta)的表,共 4 个字段 :* umeta_id 元信息 ID,bigint(20)值,附加属性 auto_increment。* u
23、ser_id 元信息对应的用户 ID,bigint(20)值,相当于 wp_users.ID。* meta_key 元信息关键字, varchar(255)值。* meta_value 元信息的详细值,longtext 值。这是在 Wordpress 2.0 中才新加入的表。wp_users:用于保存 Wordpress 使用者的相关信息的表。WP 官方对 2.0.2 版本中该表的情况的说明有些矛盾(称有 22 个字段,但详细的列表中只有 11 个) ,所以这里只能列出 11 个字段进行说明:* ID 用户唯一 ID,bigint(20)值,带附加属性 auto_increment。* use
24、r_login 用户的注册名称,varchar(60)值。* user_pass 用户密码,varchar(64) 值,这是经过加密的结果。好象用的是不可逆的 MD5算法。* user_nicename 用户昵称,varchar(50)值。* user_email 用户电邮地址, varchar(100)值。* user_url 用户网址,varchar(100)值。* user_registered 用户注册时间,datetime 值。* user_level 用于等级,int(2)值,可以是 0-10 之间的数字,不同等级有不同的对 WP 的操作权限。* user_activation_key 用户激活码,不详。varchar(60)值。* user_status 用户状态,int(11)值,默认为 0。* display_name 来前台显示出来的用户名字,varchar(250)值。通过这 10 张表,我们可以看出,整个 wp 系统所涉及的主要内容包括:* 文章(页面) 及其分类* 链接及其分类* 选项、设置* 用户设定文章来源 http:/