薇晓朵很少讲 WordPress 教程,今后将会逐步增加 WordPress 教程,我想这对于 WordPress 主题的使用是很有帮助的。特别 WordPress 数据库来讲,很多人知其然不知其所以然。 WordPress 使用数据库存储,恢复和显示数据。数据库是 CMS 最重要的部分。对于 WordPress 来讲能如此成功,我想数据库结构是一个很重要的部分。对于追求简约的今天,WordPress 采用了一个简单方便,易于理解和管理的数据库结构。

WordPress 提供开发者和用户几种方法访问存储在数据库中的数据,尽管大多数人没有必要直接访问数据库,但是为了更好的使用 WordPress,熟悉 WordPress 数据库是非常重要的。因为通过 WordPress 数据库,可以直接解决一些问题,如修改密码、关闭插件、选择主题等等。

一、 wp-config.php 中的数据库部分

在我们新安装 WordPress 的时候,提供了两种方法链接数据库,一就是根据提示进行设置,一就是配置 wp-config.php 。不过如何,都是对 wp-config.php 进行设置:

<pre>// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '');
/** MySQL database username */
define('DB_USER', '');
/** MySQL database password */
define('DB_PASSWORD', '');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';</pre>

DB_NAME 是数据库名,DB_USER 是数据库用户名,DB_PASSWORD 数据库密码,DB_HOST 数据库主机名,DB_CHARSET 是字符编码,一般使用 utf8 就可以很好的工作,如果是特殊编码,可在这里修改。对于 DB_COLLATE 是控制单字节和双字节的,对于双字节就不要管它。接下来 $table_prefix 是表前缀。这允许你在一个数据库内安装多个 WordPress 。一些安全专家建议把这个修改成随机产生的字符,长度不要太短,这样黑客就不容易攻入你的数据库。

二、 WordPress 数据库结构

安装好了后,你可以使用 phpadmin 登录你的数据库,实际上不同的主机会有不同的登录方法。登录后你会发现有 12 张表。

这是默认的,实际上随着你安装相关插件,这个表可能会增多,因为一下插件会创建表来保存数据的。

三、日志表:wp_posts

wp_posts 是用来保存你在 wodpress 后台发布的文章日志的。这个表里面有写类说明一下:

WordPress文章日志表

这些自我解释的都不错,我们点击 「浏览」,看看文章类型,默认有文章、页面、版本、附件、导航菜单。如果你自定义了文章类型,在这里也会显示出来的。如:

WordPress文章类型

post_mime_type 这一个类型大家可能不知道是什么,看到的是空的。实际上一旦你插入了图片之类的,你就会发现出现一些 jpg/gif 的图片链接地址之类的。

四、选项表: wp_options

选项表主要包括 WordPress 的设置,包括下面的一些字段:

  • option_ID
  • blog_ID
  • option_name
  • option_value
  • auto_load

这个表里面包括许多相当重要的信息,如站名、网址、管理员电子邮件、激活的插件和主题。

五、数据库中的分类和术语

WordPress 使用了三种表去控制分类和自定义分类,这些是:

  • wp_terms
  • wp_term_taxonomy
  • wp_term_relationship

对于新手来讲看上去很复杂,但是实际上是相对的简单。 第一张表 wp_terms 包含所有术语. 例如, Blogroll 一个术语并在未分类里。默认安装 Blogroll 是一个链接类别并在默认的分类里。所有标签,分类,链接分类,导航菜单,自定义类别都是储存在这张表的术语.

下一个 wp_term_taxonomy 表用于描述其归属,例如 术语 id 1 未分类) 属于分类栏目, 而术语 id 2 (Blogroll) 是链接栏目.

在 wp_term_relationship 属于关系表,也就是说一篇日志,那个部分归哪里管之类的。

六、数据库优化

在设置了一个数据库后,对其优化也是重要的一部分,MySQL 提供了一条语句可以优化表,非常简单:

<pre>OPTIMIZE TABLE 'wp_posts'</pre>

如果不想手动输入的话,也可以使用 phpmyadmin 优化:

另外还可以使用 WordPress 插件如 WP Optimize 或 r WP DBManager. 在使用插件时,插件会移除文章版本和垃圾评论。这是根据 WordPress 专家们所说的行数影响查询效率。

七、结论

WordPress 是简单的,易于理解的,保持干净和安全对于提高站点绩效是很重要的。因此不要忽略优化,并经常备份。