Wordpress表结构详细说明
Url:http://www.girlcoding.com/2011/08/wordpress-database-design/
WordPress一共有以下11个表。这里加上了默认的表前缀 wp_ 。
- wp_commentmeta:存储评论的元数据
- wp_comments:存储评论
- wp_links:存储友情链接(Girl is coding)
- wp_options:存储WordPress系统选项和插件、主题配置
- wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据
- wp_posts:存储文章(包括页面、上传文件、修订)
- wp_terms:存储每个目录、标签、分类
- wp_term_relationships:存储每个文章、链接和对应分类的关系
- wp_term_taxonomy:存储每个目录、标签所对应的分类
- wp_usermeta:存储用户的元数据
- wp_users:存储用户
在WordPress的数据库结构中,存储系统选项和插件配置的wp_options表是比较独立的结构,在后文中会提到,它采用了key-value模式存储,这样做的好处是易于拓展,各个插件都可以轻松地在这里存储自己的配置。
post,comment,user 则是三个基本表加上拓展表的组合。以wp_users为例,wp_users已经存储了每个用户会用到的基本信息,比如 login_name、display_name、 password、email等常用信息,但如果我们还要存储一些不常用的数据,最好的做法不是去在表后加上一列,去破坏默认的表结构,而是将数据存在wp_usermeta中。wp_usermeta这个拓展表和wp_options表有类似的结构,我们可以在这里存储每个用户的QQ号码、手机号码、登录WordPress后台的主题选项等等。
比较难以理解的是term,即wp_terms、wp_term_relationships、wp_term_taxonomy。在WordPress的系统里,我们常见的分类有文章的分类、链接的分类,实际上还有TAG,它也是一种特殊的分类方式,我们甚至还可以创建自己的分类方法。WordPress将所有的分类及分类方法、对应结构都记录在这三个表中。wp_terms记录了每个分类的名字以及基本信息,如本站分为“WordPress开发”、“WPCEO插件”等,这里的分类指广义上的分类,所以每个TAG也是一个“分类”。wp_term_taxonomy记录了每个分类所归属的分类方法,如“WordPress开发”、“WPCEO插件”是文章分类(category),放置友情链接的“我的朋友”、“我的同事”分类属于友情链接分类(link_category)。wp_term_relationships记录了每个文章(或链接)所对应的分类方法。
庆幸的是,关于term的使用,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:显示名称
三、Wordpress表按功能分类
按照功能大致分为五类 :
① 用户信息: wp_users和wp_usermeta
② 链接信息: wp_links
③ 文章及评论信息: wp_posts、wp_postmeta、wp_comments、wp_commentmeta
④ 对分类,链接分类,标签管理: wp_term,wp_term_relationships,wp_term_taxonomy
⑤全局设置信息: wp_options
(1) wp_posts
博客发表”文章”存放的地方就是这个wp_posts表了。这个表里存放的除了普通的文章之外,还有附件和页面(page)的一些信息。post_type字段是用来区分文章类型的。如果post_type是’post’,那么就是文章,如果是’page’,那么就是页面,如果是’attachment’,那么就是附件了.
(2) wp_postmeta
这个表很简单,只有 meta_id, post_id, meta_key, meta_value 这四个字段。post_id 是相关 “文章” 的id。meta_value 是longtext类型的,这里仅是用来存储值。在撰写文章的时候,在编辑框下面有一个 Custom Fields 的选项,我们可以在这里添加post的meta信息。
(3) wp_comments
比较重要的两个字段是 comment_post_ID 和 comment_approved,前一个用来指示这条评论隶属于哪一篇文章,后一个用来记录审核状况。还有一个比较有意思的是这个 commnet_agent 字段,可以利用这个字段来统计一下用户浏览器类型。
(4) wp_commentmeta
现在WordPress 2.9 将要支持评论数据项(commentmeta)。目前还不确定这一功能有何用途。
(5) wp_users
用户帐号表。存储用户名、密码还有一些用户的基本信息。
(6) wp_usermeta
类似上面的 wp_postmeta,存储一些其他的用户信息。
(7) wp_options
用来记录Wordpress的一些设置和选项。里面有一个blog_id字段,这个应该是用在MU版里面来标示不同的 Blog 的。autoload这个字段用来控制是否选项总是被WordPress或者插件导入并缓存来使用,或者是否只是在要求的情况下才被导入。
(8) wp_links
用来存储 Blogroll 里面的链接。
(9) wp_terms
它保存(term)的基本信息。name 就是 term 的名字,slug 是用于使得 URL 友好化。term_group 是用于把相似的 terms 集合在一起。term_id 是term的唯一ID。
(10) wp_term_taxonomy
分类信息,是对wp_terms中的信息的关系信息补充,有所属类型(category,link_category,tag),详细描述所拥有文章(链接)数量。
(11) wp_term_relationships
把posts和links这些对象和term_taxonomy表中的term_taxonomy_id联系起来的关系表,object_id是与不同的对象关联,例如wp_posts中的ID(wp_links中的link_id)等,term_taxonomy_id就是关联wp_term_taxonomy中的term_taxonomy_id。
Wordpress表结构详细说明相关推荐
- 织梦Dedecms5.7默认数据库87张表结构详细说明
织梦Dedecms5.7默认数据库87张表结构详细说明 https://www.jianshu.com/p/7bf54db072ea 渝娃关注 1.dede_addonarticle:附加文章表 字段 ...
- WordPress数据库及各表结构
2019独角兽企业重金招聘Python工程师标准>>> WordPress使用MySQL数据库.作为一个开发者,我们有必要掌握WordPress数据库的基本构造,并在自己的插件或主题 ...
- ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略 目录 基于BigMartSales数 ...
- Activiti数据库表结构(表详细版)
http://blog.csdn.net/hj7jay/article/details/51302829 1 Activiti数据库表结构 1.1 数据库表名说明 Activiti工作流总 ...
- JAVA实现导出mysql表结构到Word详细注解版
JAVA实现导出mysql表结构到Word详细注解版 转自https://blog.csdn.net/weixin_42041153/article/details/109739073 本文在原文中一 ...
- Hive详细表结构操作(增加列,删除列,修改列,移动列)
Hive详细表结构操作(增加列,删除列,修改列,移动列) 1.向Hive表中添加某个字段 格式:alter table 表名 add columns (字段名 字段类型 comment '字段描述') ...
- WordPress 数据库结构及表字段作用解析
对于WordPress的开发可以说子凡已经是如痴如醉了,通过 WordPress 本身的开放性接口可以做到很多的事情,但是有些时候我们可能更喜欢直接查询数据库来实现某些 WordPress 没有提供的 ...
- Activiti——数据表结构
备注: 本文转自:http://blog.csdn.net/hj7jay/article/details/51302829 转载目的在于个人学习使用,如有涉及著作权相关问题,请联系本人,本人将第一时间 ...
- zabbix数据库表结构简单解析
zabbix数据库表结构-持续更新 时间 2014-06-11 21:59:08 furion's blog 原文 http://www.furion.info/623.html 主题 MySQL ...
最新文章
- 在执行ab压力测试时出现socket: Too many open files (24)的解决方法
- 第二章 java常用开发工具以及程序的编写
- mysql数据库备份 dump_MySQL数据库备份之mysqldump
- Early Orders
- ubuntu tree 显示中文的方法
- SPI单片机发送ARM接收
- JS获取登录者IP和登录城市
- 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
- 《微服务设计》(一)---- 微服务
- 2016 ECCV论文 《Peak-Piloted Deep Network for Facial Expression Recognition》
- knife4j文档请求异常_umi-request 网络请求之路
- 安装esxi时候的No Network Adapters报错 解决办法
- esp8266开发入门教程(基于Arduino)——点亮RGB灯
- Mac小白必备技巧4—Mac文件管理器需要的快捷键有什么?
- 网页中那些遇到过的导航选中状态actived selected
- crtmpserver系列(二):搭建简易流媒体直播系统
- 热血篮球维修服务器是怎么回事,新浪《热血篮球》10月30日停服维护及更新公告...
- 如何将word一键导入PPT并对内容格式批量修改
- 千年之恋HTML5和CSS3
- R语言|求ROC和AUC值
热门文章
- 餐饮外卖平台小程序 v1.0.1
- Node.js: 认识流stream
- imagesLoaded-检测图片是否正确加载的js插件
- Shopify:管理一个顶级域名绑定shopify网店
- 用LVM管理Linux系统服务器存储空间
- Ubuntu连接SSHHow to: Connect SSH, SFTP and FTP Servers using Nautilus ubuntu 13.04
- SLAM研究内容框架分析
- mysql 中文乱码解决办法
- 【算法学习】图相关算法编程实现-深度优先遍历和广度优先遍历
- centos7下安装mysql8社区版的过程,20200129