WordPress数据库的基本构造及各表结构
<p>WordPress使用MySQL数据库。作为一个开发者,我们有必要掌握WordPress数据库的基本构造,并在自己的插件或主题中使用他们。</p>
<p>
截至WordPress3.0,WordPress一共有以下11个表。这里加上了默认的表前缀 wp_ 。</p>
<p>
wp_commentmeta:存储评论的元数据</p>
<p>
wp_comments:存储评论</p>
<p>
wp_links:存储友情链接(Blogroll)</p>
<p>
wp_options:存储WordPress系统选项和插件、主题配置</p>
<p>
wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据</p>
<p>
wp_posts:存储文章(包括页面、上传文件、修订)</p>
<p>
wp_terms:存储每个目录、标签</p>
<p>
wp_term_relationships:存储每个文章、链接和对应分类的关系</p>
<p>
wp_term_taxonomy:存储每个目录、标签所对应的分类</p>
<p>
wp_usermeta:存储用户的元数据</p>
<p>
wp_users:存储用户</p>
<p>
在WordPress的数据库结构中,存储系统选项和插件配置的wp_options表是比较独立的结构,在后文中会提到,它采用了key-value模式存储,这样做的好处是易于拓展,各个插件都可以轻松地在这里存储自己的配置。</p>
<p>
post,comment,user 则是三个基本表加上拓展表的组合。以wp_users为例,wp_users已经存储了每个用户会用到的基本信息,比如 login_name、display_name、 password、email等常用信息,但如果我们还要存储一些不常用的数据,最好的做法不是去在表后加上一列,去破坏默认的表结构,而是将数据存在wp_usermeta中。wp_usermeta这个拓展表和wp_options表有类似的结构,我们可以在这里存储每个用户的QQ号码、手机号码、登录WordPress后台的主题选项等等。</p>
<p>
比较难以理解的是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记录了每个文章(或链接)所对应的分类方法。</p>
<p>
庆幸的是,关于term的使用,WordPress中相关函数的使用方法还是比较清晰明了,我们就没必要纠结于它的构造了。</p>
<p>
在上文中我们已经介绍了WordPress数据库中各个表的作用,本文将继续介绍每个表中每个列的作用。WordPress官方文档已经有比较详细的表格,本文仅对常用数据进行介绍。</p>
<p>
wp_commentmeta</p>
<p>
meta_id:自增唯一ID</p>
<p>
comment_id:对应评论ID</p>
<p>
meta_key:键名</p>
<p>
meta_value:键值</p>
<p>
wp_comments</p>
<p>
comment_ID:自增唯一ID</p>
<p>
comment_post_ID:对应文章ID</p>
<p>
comment_author:评论者</p>
<p>
comment_author_email:评论者邮箱</p>
<p>
comment_author_url:评论者网址</p>
<p>
comment_author_IP:评论者IP</p>
<p>
comment_date:评论时间</p>
<p>
comment_date_gmt:评论时间(GMT+0时间)</p>
<p>
comment_content:评论正文</p>
<p>
comment_karma:未知</p>
<p>
comment_approved:评论是否被批准</p>
<p>
comment_agent:评论者的USER AGENT</p>
<p>
comment_type:评论类型(pingback/普通)</p>
<p>
comment_parent:父评论ID</p>
<p>
user_id:评论者用户ID(不一定存在)</p>
<p>
wp_links</p>
<p>
link_id:自增唯一ID</p>
<p>
link_url:链接URL</p>
<p>
link_name:链接标题</p>
<p>
link_image:链接图片</p>
<p>
link_target:链接打开方式</p>
<p>
link_description:链接描述</p>
<p>
link_visible:是否可见(Y/N)</p>
<p>
link_owner:添加者用户ID</p>
<p>
link_rating:评分等级</p>
<p>
link_updated:未知</p>
<p>
link_rel:XFN关系</p>
<p>
link_notes:XFN注释</p>
<p>
link_rss:链接RSS地址</p>
<p>
wp_options</p>
<p>
option_id:自增唯一ID</p>
<p>
blog_id:博客ID,用于多用户博客,默认0</p>
<p>
option_name:键名</p>
<p>
option_value:键值</p>
<p>
autoload:在WordPress载入时自动载入(yes/no)</p>
<p>
wp_postmeta</p>
<p>
meta_id:自增唯一ID</p>
<p>
post_id:对应文章ID</p>
<p>
meta_key:键名</p>
<p>
meta_value:键值</p>
<p>
wp_posts</p>
<p>
ID:自增唯一ID</p>
<p>
post_author:对应作者ID</p>
<p>
post_date:发布时间</p>
<p>
post_date_gmt:发布时间(GMT+0时间)</p>
<p>
post_content:正文</p>
<p>
post_title:标题</p>
<p>
post_excerpt:摘录</p>
<p>
post_status:文章状态(publish/auto-draft/inherit等)</p>
<p>
comment_status:评论状态(open/closed)</p>
<p>
ping_status:PING状态(open/closed)</p>
<p>
post_password:文章密码</p>
<p>
post_name:文章缩略名</p>
<p>
to_ping:未知</p>
<p>
pinged:已经PING过的链接</p>
<p>
post_modified:修改时间</p>
<p>
post_modified_gmt:修改时间(GMT+0时间)</p>
<p>
post_content_filtered:未知</p>
<p>
post_parent:父文章,主要用于PAGE</p>
<p>
guid:未知</p>
<p>
menu_order:排序ID</p>
<p>
post_type:文章类型(post/page等)</p>
<p>
post_mime_type:MIME类型</p>
<p>
comment_count:评论总数</p>
<p>
wp_terms</p>
<p>
term_id:分类ID</p>
<p>
name:分类名</p>
<p>
slug:缩略名</p>
<p>
term_group:未知</p>
<p>
wp_term_relationships</p>
<p>
object_id:对应文章ID/链接ID</p>
<p>
term_taxonomy_id:对应分类方法ID</p>
<p>
term_order:排序</p>
<p>
wp_term_taxonomy</p>
<p>
term_taxonomy_id:分类方法ID</p>
<p>
term_id:taxonomy:分类方法(category/post_tag)</p>
<p>
description:未知</p>
<p>
parent:所属父分类方法ID</p>
<p>
count:文章数统计</p>
<p>
wp_usermeta</p>
<p>
umeta_id:自增唯一ID</p>
<p>
user_id:对应用户ID</p>
<p>
meta_key:键名</p>
<p>
meta_value:键值</p>
<p>
wp_users</p>
<p>
ID:自增唯一ID</p>
<p>
user_login:登录名</p>
<p>
user_pass:密码</p>
<p>
user_nicename:昵称</p>
<p>
user_email:Email</p>
<p>
user_url:网址</p>
<p>
user_registered:注册时间</p>
<p>
user_activation_key:激活码</p>
<p>
user_status:用户状态</p>
<p>
display_name:显示名称</p>
頁:
[1]