1,Wordpress目录结构

1,根目录

  • 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 处理登录信息

2,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

3,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类数据信息而设计,这些表之间的总体关系结构如下图所示:

Apache2 WordPress 子目录 多站点配置 wordpress目录结构_字段

信息 类型

涉及数据表及关联关系

用户信息

数据表: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没有关联关系