热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WordPress数据库及各表结构详细解析

WordPress使用MySQL数据库。作为一个开发者,我们有必要掌握WordPress数据库的基本构造,并在自己的插件或主题中使用他们。截至WordPress3.0,WordPress一共有以下11个表。这里加上了默认的表前缀 wp_ 。wp_commentmeta:存储评论的元数

WordPress使用MySQL数据库。作为一个开发者,我们有必要掌握WordPress数据库的基本构造,并在自己的插件主题中使用他们。

截至WordPress3.0,WordPress一共有以下11个表。这里加上了默认的表前缀?wp_?。

wp_commentmeta:存储评论的元数据

wp_comments:存储评论

wp_links:存储友情链接(Blogroll)

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中相关函数的使用方法还是比较清晰明了,我们就没必要纠结于它的构造了。

在上文中我们已经介绍了WordPress数据库中各个表的作用,本文将继续介绍每个表中每个列的作用。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:显示名称


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
author-avatar
糖就是甜咯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有