Wordpress作为一个更新迅速、扩展性好、插件和主题资源丰富的开源免费的一个php框架,很受用户的喜爱。那么今天我们就认识以下wordpress的数据表和表结构。

Wp_commentmeta评论的元数据表

Wp_comments评论表

Wp_links友情链接表

Wp_options系统配置、插件配置、主题配置表

Wp_postmeta文章的元数据表

Wp_posts文章表

Wp_termmeta标签元数据表

Wp_terms标签、分类等的表

Wp_term_relationships文章与目录关联表

Wp_term_taxonomy与标签关联的目录

Wp_usermeta用户的元数据

Wp_users用户表

Wordpress共有以上12个表,存储方式采用key_value的方式,具有特别优秀的扩展性,但是也是造成大数量网站瓶颈的一个原因。

Wp_commentmeta表结构

meta_id:自增唯一ID

comment_id:对应评论ID

meta_key:键名

meta_value:键值

该表算是对评论表功能的补充,比如:想加一个评论的备注功能,可以用meta_key自定义一个字段(例如:remark),meta_value是备注的内容。如果是多个字段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:这是个神奇的字段,未在wordpress中使用,应该是给主题或者插件做自定义使用的保留字段

comment_approved:评论是否被批准0审核中,1批准,spam垃圾评论

comment_agent:评论者的USER AGENT(用户浏览器的信息)

comment_type:评论类型(pingback/普通)

comment_parent:父级评论ID(是多层评论和回复的关键字段)

user_id:评论者用户ID(不一定存在)


wp_links:wordpress的友情链接表,该表wordpress也没有添加功能,但是有一些友情链接的插件用到了这个表,而大部分主题都带有友情链接,所以这个表没啥作用

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配置表,这个表是wordpress的核心表,配置方式基本有如下图方式

option_id:自增唯一ID

option_name:键名

option_value:键值

autoload:在WordPress载入时自动载入(yes/no)

Option_name(posts_per_page)一个键,meta_value(10)一个值,表示列表每页10篇文章。


Option_name为aioseo_options_internal,option_value为

{"internal":{"validLicenseKey":null,"lastActiveVersion":"4.1.5.2","migratedVersion":"3.3.3",

"siteAnalysis":{"connectToken":null,"score":0,"results":null,"competitors":[]},

"headlineAnalysis":{"headlines":[]},"wizard":null,"category":null,"categoryOther":null,

"deprecatedOptions":["autogenerateDescriptions"]},"integrations":{"semrush":{"accessToken"

:null,"tokenType":null,"expires":null,"refreshToken":null}},"database":{"installedTables"

:"{"wp_aioseo_posts":["id","post_id","title","description","keywords","keyphrases",

"page_analysis","canonical_url","og_title","og_description","og_object_type",

"og_image_type","og_image_url","og_image_width","og_image_height","og_image_custom_url"

,"og_image_custom_fields","og_video","og_custom_url","og_article_section","og_article_tags",

"twitter_use_og","twitter_card","twitter_image_type","twitter_image_url",

"twitter_image_custom_url","twitter_image_custom_fields","twitter_title",

"twitter_description","seo_score","schema_type","schema_type_options",

"pillar_content","robots_default","robots_noindex","robots_noarchive",

"robots_nosnippet","robots_nofollow","robots_noimageindex","robots_noodp",

"robots_notranslate","robots_max_snippet","robots_max_videopreview",

"robots_max_imagepreview","tabs","images","priority","frequency","videos",

"video_thumbnail","video_scan_date",

"local_seo","limit_modified_date","created","updated"]}"}}

这个配置直接包含了一个插件的所有配置,存储能力非常优秀。

wp_postmeta文章表的扩展,例如我想添加一个文章的阅读量可以设置meta_key为views,meta_value为阅读量的数值。当然也可以一个key对应一个数组或者对象。

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_termmeta标签字段的自定义功能

meta_id :自增Id

term_id :标签ID

meta_key :键

meta_value:值


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基本表都有扩展表,所以扩展性特别好,但是缺点也比较明显。扩展表数据会比较庞大,不利于大数据量网站的运行。配置表集中在同一表内,配置较多时运行起来,效率比较低。但是对于中小型网站来说这种方式不会影响运行,加上扩展性,依然是百万级以下网站的首选框架。