一、简单介绍:
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,当然也可以把 WordPress当作一个内容管理系统(CMS)来使用,使用范围非常广泛。个人博客网站和大多数其他比如公司官网,网店等网站都是使用的wordpress,优点在于开源、免费、简单易用、大量的插件和主题、不需要过硬的专业知识就可以使用。
在使用的过程中,有时候会遇到这样一个问题:当我更改网站的域名(或者说网址)的时候,网页打不开了?
二、原因分析:
1.应用层:一般的操作就是更改应用的域名,这是更改域名最基本的操作;
2.数据库层:wordpress包括网站首页、文章内部的链接、图片和音视频等媒体文件的地址、链接,以及评论中的链接等,都记录在数据库中,需要全部更改和替换。
三、操作实例:
1. 数据库
初始数据库表如下图:
按自己的实际情况更改网站根目录下的wp-config.php文件中的数据库配置;
TABLE | DATA STORED | LINKED TO |
wp_posts | 文章,页面,附件,版本和菜单导航项 | wp_postmeta (via post_id) wp_term_relationships(viapost_id) |
wp_postmeta | 每篇文章的元数据 | wp_posts (via post_id) |
wp_comments | 评论 | wp_posts (via post_id) |
wp_commentmeta | 评论的元数据 | wp_comments (via comment_id) |
wp_term_relationships | 文章和分类法的关系 | wp_posts (via post_id) wp_term_taxonomy (viaterm_taxonomy_id) |
wp_term_taxonomy | 分类法(包括分类和标签) | wp_term_relationships (viaterm_taxonomy_id) |
wp_terms | 你的分类、标签和分配到自定义分类法的分类项目 | wp_term_taxonomy (via term_id) |
wp_links | 博客中的链接 | wp_term_relationships (vialink_id) |
wp_users | 用户 | wp_posts (via post_author) |
wp_user_meta | 每个用户的元数据 | wp_users (via user_id) |
wp_options | 站点的设置选项(通过设置界面、主题和插件添加的) |
还有一些需要注意的事情:
- 数据库表默认使用 wp_ 前缀。你可以通过配置你的站点来改变,但这么做没有什么意义。
- wp_posts 是核心表,你的大多数数据都在这里保存。它几乎把所有的内容的组织在一起。
- 只有一个表是和其他表没有关系的—— wp_options。这个表保存着站点和 WordPress 安装信息,这些内容没有和文章或者用户有关联。
- 有两个表是存储有关分类方法的——。
- wp_users 和wp_comments表是没有关联的——尽管用户可能会需要注册才能发表评,WordPress 没有真正地保存关于每个用户的评论以及谁发布的。
- 一个多站点安装将会有一些扩展表。这里没有包含这些内容,因为已经超出了这个系列的内容。
内容和数据库表的关系
已经看过了WordPress中的内容类型和存储它们的数据库表,这个有助于我们把它们关联起来。下面的表展示了每个表存储的内容类型。
CONTENT TYPE | TABLE(S) |
文章 | wp_posts |
页面 | wp_posts |
自定义文章类型 | wp_posts |
附件 | wp_posts |
链接 | wp_links |
导航菜单项目 | wp_posts |
分类 | wp_terms |
标签 | wp_terms |
自定义分类法 | wp_term_taxonomy |
分类法项目 | wp_terms |
文章元数据 | wp_post_meta |
小工具 | wp_options |
选项 | wp_options |
用户 | wp_users |
硬编码内容 | wp_posts (如果添加到文章中) wp_options (如果添加到小工具中) 主题和插件文件(如果是硬编码) |
第三方内容 | wp_posts (如果添加到文章中) wp_options (如果是小工具或插件添加的) 主题和插件文件(如果是硬编码) |
2. 应用
1.比如老域名是www.newdomain.com,新域名是www.newdomain.com
2.连接mysql数据库,用navicat或者sqlyog或者直接用phpmyadmin等工具都行,连接到wordpress的数据库,开始执行下面的sql脚本
特别提醒:一定要根据自己的网站更换下面脚本中的域名!!!
UPDATE wp_options SET option_value = replace(option_value, 'www.olddomain.com','www.newdomain.com') ; UPDATE wp_posts SET post_content = replace(post_content, 'www.olddomain.com','www.newdomain.com') ; UPDATE wp_posts SET guid = replace(guid, 'www.olddomain.com','www.newdomain.com') ; UPDATE wp_links SET link_url= replace(link_url, 'www.olddomain.com','www.newdomain.com') ; UPDATE wp_comments SET comment_content = replace(comment_content, 'www.olddomain.com', 'www.newdomain.com') ; UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'www.olddomain.com', 'www.newdomain.com') ;
若脚本执行后,若没有报错,说明域名更换已顺利完成,可以开心的打开自己的网站测试效果了!
如果想通过数据库查看和更改主题themes的话可以执行下面的sql,其中需要classic改为自己主题的名字。
SELECT * FROM wp_options WHERE option_name = 'template' OR option_name = 'stylesheet' OR option_name = 'current_theme'; UPDATE wp_options SET option_value = 'classic' WHERE option_name = 'template'; UPDATE wp_options SET option_value = 'classic' WHERE option_name = 'stylesheet'; UPDATE wp_options SET option_value = 'classic' WHERE option_name = 'current_theme';
四、wordpress表解释
1、wp_terms:标签表,存储标签相关信息:term_id,name(标签名称),slug,term_group
2、wp_wppay:订单表,存储用户下单信息
3、wp_post:文章表:存储文章相关信息:文章内容,题目,状态等
4、wp_commets:用户评论信息,存储了用户评论的内容,用户名,IP,评论时间等
5、wp_options:系统配置信息表:此表很重要
6、wp_links:网址导航 – 链接分类目录
7、wp_ice_download:价格表,存储了文件付款价格,文章标题等
温馨提示:
删除wordpress文章的修订版:
SELECT * from wp_posts WHERE post_type='revision';
评论前必须登录!
注册