1,Wordpress目录结构

根目录

  1. index.php:wordpress核心索引文件,即博客输出文件。
  2. license.txt:WordPress GPL许可证文件。
  3. my-hacks.php:定义了博客输出之前处理的追加程序。默认安装中并没有这个文件,但如果存在,它就会被管理页面引用。
  4. readme.html:WordPress安装导言。
  5. wp-atom.php:输出Atom信息聚合内容。
  6. wp-blog-header.php:根据博客参数定义博客页面显示内容。
  7. wp-cron.php
  8. wp-comments-post.php:接收评论,并把其添加到数据库。
  9. wp-commentsrss2.php:用来生成日志评论的RSS2信息聚合内容。
  10. wp-config-sample.php:把WordPress连接到MySQL数据库的示例配置文件。
  11. wp-config.php:这是真正把WordPress连接到MySQL数据库的配置文件。默认安装中虽不包括它,但由于WordPress运行需要这一文件,因此,用户需要编辑这个文件以更改相关设置。
  12. wp-feed.php:根据请求定义feed类型并其返回feed请求文件。
  13. wp-links-opml.php:生成OPML格式的链接(通过WordPress管理菜单添加)列表。
  14. wp-login.php:定义注册用户的登陆页面。
  15. wp-mail.php:用来获取通过邮件提交的博文。这个文件的URL通常被添加到cron任务中,这样cron就会定期检索文件并接收邮件日志。
  16. wp-pass.php:审核受密码保护文章的密码并显示被保护文章。
  17. wp-rdf.php:生成RDF信息聚合内容。
  18. wp-register.php:允许新用户通过联机表单注册用户名。
  19. wp-rss.php:生成RSS信息聚合内容。
  20. wp-rss2.php:生成RSS2信息聚合内容。
  21. wp-settings.php:运行执行前的例行程序,包括检查安装是否正确,使用辅助函数,应用用户
  22. wp-trackback.php:处理trackback请求。
  23. wp.php:显示博客日志的简单模板。并没有什么神奇之处,但包括了部分index.php内容。
  24. xmlrpc.php:处理xmlrpc请求。用户无需通过内置的网络管理界面就可发布文章。
  25. wp-activate.php 处理登录信息

wp-admin目录

  1. wp-admin/admin.php:管理文件的核心文件。用来连接数据库,整合动态菜单数据,显示非核心控制页面等。
  2. wp-admin/admin-db.php
  3. wp-admin/admin-footer.php:定义所有管理控制台的页脚。
  4. wp-admin/admin-functions.php:定义了管理控制台使用的多种函数。
  5. wp-admin/admin- header.php:定义了管理控制台的上半部分内容,包括菜单逻辑 (menu logic)的 menu-header.php文件。
  6. wp-admin/bookmarklet.php:使用书签功能时,定义弹出页面。撰写日志时使用默认的edit-form.php文件。
  7. wp-admin/categories.php:定义管理页面的类别管理。参考: Manage – Categories
  8. wp-admin/cat-js.php
  9. wp-admin/edit.php:定义管理页面的日志管理。参考: Manage – Posts
  10. wp-admin/edit-comments.php:定义管理页面的评论管理。参考: Manage – Comments
  11. wp-admin/edit-form-advanced.php:定义管理页面的日志高级编辑形式管理,包括post.php。参考: Write – Write Post – Advanced
  12. wp-admin/edit-form.php:定义管理页面的日志简单编辑形式管理,包括post.php。参考: Write – Write Post
  13. wp-admin/edit-form-comment.php:编辑特定日志评论。
  14. wp-admin/edit-form-ajax-cat.php
  15. wp-admin/edit-link-form.php
  16. wp-admin/edit-page-form.php:定义管理模块页面的页面编辑,包括post.php和page-new.php。参考: Write – Write Page
  17. wp-admin/edit-pages.php:定义管理模块页面的页面管理。参考: Manage – Pages
  18. wp-admin/execute-pings.php
  19. wp-admin/import.php
  20. wp-admin/index.php:默认管理页面。根据用户请求显示相应的页面。
  21. wp-admin/inline-uploading.php
  22. wp-admin/install-helper.php:定义数据库维护函数,包括popular-in-plugins maybe_create_table() 和maybe_add_column()。
  23. wp-admin/install.php:安装WordPress。
  24. wp-admin/link-add.php:链接添加。参考: Links – Add Link
  25. wp-admin/link-categories.php:链接分类管理。参考: Links – Link Categories
  26. wp-admin/link-import.php:导入链接。参考: Links – Import Links
  27. wp-admin/link-manager.php:链接管理。参考: Links – Manage Links
  28. wp-admin/link-parse-opml.ph:导入链接时,用来解析OPML文件。
  29. wp-admin/list-manipulation.js
  30. wp-admin/list-manipulation.php
  31. wp-admin/menu-header.php:用于在管理界面显示菜单。
  32. wp-admin/menu.php:定义了默认管理菜单结构。
  33. wp-admin/moderation.php:定义了评论审核函数。
  34. wp-admin/options.php:升级后,用来更改所有设置。
  35. wp-admin/options-discussion.php:管理评论和trackback相关选项。参考: Options – Discussion
  36. wp-admin/options-general.php:管理基本配置选项。参考: Options – General
  37. wp-admin/options-head.php
  38. wp-admin/options-misc.php:设置文件上传,链接跟踪,自定义”hacks”等相关选项。参考:Options – Miscellaneous
  39. wp-admin/options-permalink.php:管理永久链接选项。参考: Options – Permalinks
  40. wp-admin/options-reading.php:设置如何把网站信息发送到读者浏览器或其它应用程序。参考: Options – Reading
  41. wp-admin/options-writing.php:管理日志撰写界面。参考:Options – Writing
  42. wp-admin/page-new.php:创建新页面。
  43. wp-admin/plugin-editor.php:编辑插件文件。
  44. wp-admin/plugins.php:管理插件。
  45. wp-admin/post.php:创建新日志。
  46. wp-admin/profile-update.php
  47. wp-admin/profile.php:管理个人资料或配置。
  48. wp-admin/setup-config.php:安装时,用来创建wp-config.php文件。
  49. wp-admin/sidebar.php
  50. wp-admin/templates.php:编辑服务器可写文件。
  51. wp-admin/theme-editor.php:编辑特定主题中的文件。
  52. wp-admin/themes.php:管理主题。
  53. wp-admin/update-links.php
  54. wp-admin/upgrade-functions.php:定义了版本升级函数。
  55. wp-admin/upgrade-schema.php:定义了升级中使用的默认表格结构和选项。
  56. wp-admin/upgrade.php:版本升级。
  57. wp-admin/user-edit.php:编辑用户。
  58. wp-admin/users.php:管理用户。
  59. wp-admin/wp-admin.css:定义了管理控制台的默认样式表。
  60. wp-admin/xfn.js

wp-includes目录

  1. wp-includes/cache.php
  2. wp-includes/capabilities.php
  3. wp-includes/class-IXR.php:Incutio XML-RPC库。包括了 XML RPC支持函数。由http://scripts.incutio.com/xmlrpc/提供支持。
  4. wp-includes/classes.php:包括了基本的类,如核心文章提取机制WP_Query和改写管理WP_Rewrite。
  5. wp-includes/class-pop3.php:包括了支持使用POP邮箱的类。可供wp-mail.php 使用。
  6. wp-includes/class-snoopy.php:Snoopy是一个PHP类,用来模仿Web浏览器的功能,它能自动完成检索网页和发送表单的任务。
  7. wp-includes/comment-functions.php
  8. wp-includes/default-filters.php
  9. wp-includes/feed-functions.php
  10. wp-includes/functions-compat.php:即新版本PHP中用来支持老版本PHP的函数文件。
  11. wp-includes/functions-formatting.php:用于清理XHTML和用特定字符集正确格式化文本。
  12. wp-includes/functions-post.php:定义了在数据库中管理日志,查询用户权限,提取和撰写评论等函数。
  13. wp-includes/functions.php:包含许多重要的支持函数,它是WordPress中最大的文件,函数数量几乎是第二大文件的两倍。
  14. wp-includes/gettext.php:PHP-gettext GPL 翻译库组成部分。
  15. wp-includes/kses.php:用来渲染和过滤日志或评论中的HTML。
  16. wp-includes/links.php:用来管理和使用WordPress的链接功能。
  17. wp-includes/locale.php:用来替代默认的星期和月份值。
  18. wp-includes/pluggable-functions.php
  19. wp-includes/registration-functions.php
  20. wp-includes/rss-functions.php
  21. wp-includes/streams.php:定义了包装文件流和字符流的类。
  22. wp-includes/template-functions-author.php:包含了与日志作者或评论人相关的主题函数。
  23. wp-includes/template-functions-category.php:包含了与类别相关的主题函数。
  24. wp-includes/template-functions-comment.php:包含了与评论相关的主题函数。
  25. wp-includes/template-functions-general.php:包含了常规主题函数。
  26. wp-includes/template-functions-links.php:包含了与链接相关的主题函数。
  27. wp-includes/template-functions-post.php:包含了与日志相关的主题函数。
  28. wp-includes/template-functions.php:包含了以上所有”template-”文件。
  29. wp-includes/template-loader.php
  30. wp-includes/vars.php:用来设置杂项变量。
  31. wp-includes/version.php:用来设置当前使用的WordPress版本。
  32. wp-includes/wp-db.php:包含了用来连接MySQL数据库的函数。
  33. wp-includes/wp-l10n.php:提供支持多语言版本的函数。

2,数据表结构

wp_commentmeta:文章评论额外信息表

字段 类型 备注
meta_id BIGINT 自增唯一ID
comment_id BIGINT 对应评论ID
meta_key VARCHAR 键名
meta_value LONGTEXT 键值

wp_comments:文章评论信息表

字段 类型 备注
comment_ID BIGINT 自增唯一ID
comment_post_ID BIGINT 对应文章ID
comment_author TINYTEXT 评论者
comment_author_email VARCHAR 评论者邮箱
comment_author_url VARCHAR 评论者网址
comment_author_IP VARCHAR 评论者IP
comment_date DATETIME 评论时间
comment_date_gmt DATETIME 评论时间(GMT+0时间)
comment_content TEXT 评论正文
comment_karma INT
comment_approved VARCHAR 评论是否被批准
comment_agent VARCHAR 评论者的USER AGENT
comment_type VARCHAR 评论类型(pingback/普通)
comment_parent BIGINT 父评论ID
user_id BIGINT 评论者用户ID(不一定存在)

wp_links:存储友情链接(Blogroll)

字段 类型 备注
link_id BIGINT 自增唯一ID
link_url VARCHAR 链接URL
link_name VARCHAR 链接标题
link_image VARCHAR 链接图片
link_target VARCHAR 链接打开方式
link_description VARCHAR 链接描述
link_visible VARCHAR 是否可见(Y/N)
link_owner BIGINT 添加者用户ID
link_rating INT 评分等级
link_updated DATETIME
link_rel VARCHAR XFN关系
link_notes MEDIUMTEXT XFN注释
link_rss VARCHAR 链接RSS地址

wp_options:基本配置信息表

存储WordPress系统选项和插件、主题配置 ,通常通过get_option来操作,该表通常作为插件存储数据的一个地方。

字段 类型 备注
option_id BIGINT 自增唯一ID
option_name VARCHAR 键名
option_value LONGTEXT 键值
autoload VARCHAR 在WordPress载入时自动载入(yes/no)

wp_postmeta:文章额外数据表

例如文章浏览次数,文章的自定义字段等都存储在这里。

字段 类型 备注
meta_id BIGINT 自增唯一ID
post_id BIGINT 博客ID,用于多用户博客,默认0
meta_key VARCHAR 键名
meta_value LONGTEXT 键值

wp_posts:文章信息表

包括了日志、附件、页面等等信息。是WordPress最重要的一个数据表。

字段 类型 备注
ID BIGINT 自增唯一ID
post_author BIGINT 对应作者ID
post_date DATETIME 发布时间
post_date_gmt DATETIME 发布时间(GMT+0时间)
post_content LONGTEXT 正文
post_title TEXT 标题
post_excerpt TEXT 摘录
post_status VARCHAR 文章状态(publish/auto-draft/inherit等)
comment_status VARCHAR 评论状态(open/closed)
ping_status VARCHAR PING状态(open/closed)
post_password VARCHAR 文章密码
post_name VARCHAR 文章缩略名
to_ping TEXT
pinged TEXT 已经PING过的链接
post_modified DATETIME 修改时间
post_modified_gmt DATETIME 修改时间(GMT+0时间)
post_content_filtered LONGTEXT
post_parent BIGINT 父文章,主要用于PAGE
guid VARCHAR
menu_order INT 排序ID
post_type VARCHAR 文章类型(post/page等)
post_mime_type VARCHAR MIME类型
comment_count BIGINT 评论总数

wp_term_relationships:分类与文章信息表(wp_posts)、链接表(wp_links)的关联表。

字段 类型 备注
object_id BIGINT 对应文章ID/链接ID
term_taxonomy_id BIGINT 对应分类方法ID
term_order INT 排序

wp_term_taxonomy:分类信息表

区分wp_terms信息的分类类型,有category、link_category和tag三种分类类型。

字段 类型 备注
term_taxonomy_id BIGINT 分类方法ID
term_id BIGINT 分类ID
taxonomy VARCHAR 分类方法(category/post_tag)
description LONGTEXT
parent BIGINT 所属父分类方法ID
count BIGINT 文章数统计

wp_termmeta

字段 类型 备注
meta_id BIGINT 自增唯一ID
term_id BIGINT 分类ID
meta_key VARCHAR 键名
meta_value LONGTEXT 键值

wp_terms:文章分类、链接分类、标签的信息表。

字段 类型 备注
term_id BIGINT 分类ID
name VARCHAR 分类名
slug VARCHAR 缩略名
term_group BIGINT

wp_usermeta:用户额外信息表

字段 类型 备注
umeta_id BIGINT 自增唯一ID
user_id BIGINT 对应用户ID
meta_key VARCHAR 键名
meta_value LONGTEXT 键值

wp_users:用户基本信息表。

存放系统所有用户基本信息。

字段 类型 备注
ID BIGINT 自增ID
user_login VARCHAR 登录名
user_pass VARCHAR 密码
user_nicename VARCHAR 昵称
user_email VARCHAR Email
user_url VARCHAR 网址
user_registered DATETIME 注册时间
user_activation_key VARCHAR 激活码
user_status INT 用户状态
display_name VARCHAR 显示名称

WordPress数据库表之间的关系

要搞明白这个问题以及对WordPress数据表之间的关系有更加深刻的理解,让我们先来想想WordPress博客系统的功能,默认安装的WordPress版本博客系统涉及的数据信息主要包括了用户信息、分类信息、链接信息、文章信息、文章评论信息、基本配置信息这6类信息。

用户信息:系统中所有注册用户的帐号信息。 分类信息:包括了文章分类、链接分类、标签这3中分类信息。 链接信息:就是博客系统中的友情链接信息。 文章信息:博客系统中的日志、日志产生的附件、页面等信息。 文章评论信息:对具体日志或者附件的评论信息。 基本配置信息:系统中的基本配置信息,例如博客名称,博客地址等等。 WordPress数据库的11个数据表就是为了存储以上6类数据信息而设计,这些表之间的总体关系结构如下图所示:

image

信息 类型 涉及数据表及关联关系
用户信息 数据表:wp_users、wp_usermeta,关联关系:wp_users.ID->wp_usermeta.user_id
分类信息 数据表:wp_terms、wp_term_taxonomy关联关系:wp_terms.term_id->wp_term_taxonomy.term_id
链接信息 数据表:wp_links、wp_term_relationships、wp_terms、wp_term_taxonomy、 wp_users、wp_usermeta关联关系:一,确定链接所属分类 (1)wp_links.link_id->wp_term_relationships.object_id, (2)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id (该关系还要取决与wp_term_taxonomy表中的taxonomy分类类型为“link_category”) (3)wp_terms.term_id->wp_term_taxonom.term_id二、确定链接所有者 (4)wp_links.link_owner->wp_users.ID(5)wp_users.ID->wp_usermeta.user_id
文章信息 数据表:wp_posts、wp_postmeta、wp_comments、wp_term_relationships、wp_terms、 wp_term_taxonomy、wp_users、wp_usermeta关联关系:一、确定文章信息 (1)wp_posts.ID->wp_postsmeta.post_id二、确定文章评论 (2)wp_posts.ID->wp_comments.comment_post_id三、确定文章评论的作者 (3)wp_comments.comment_author->wp_users.ID(4)wp_users.ID->wp_usermeta.user_id四、确定文章所属分类(5)wp_posts.ID->wp_term_relationships.object_id,(6)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id (该关系还要取决与wp_term_taxonomy表中的taxonomy分类类型为“category”或者“tag”)(7)wp_terms->term_id->wp_term_taxonomy五、确定文章作者(8)wp_posts.author->wp_users.ID;(9)wp_users.ID->wp_usermeta.user_id
文章评论信息 数据表:wp_comments、wp_posts、wp_users、wp_usermeta关联关系: 一、确定评论的文章 (1)wp_comments.comment_post_id->wp_posts.ID 二、确定评论的作者 (2)wp_comments.comment_author->wp_users.ID(3)wp_users.ID->wp_usermeta.user_id
基本配置信息 数据表:wp_options没有关联关系