介绍使用WordPress时10个常用的MySQL查询
大多数使用WordPress搭建的网站,其后台都是MySQL数据库,经常我们需要定制WordPress的功能,这里我们列表10个最有用的WordPress的数据库查询,你需要一个数据库的管理工具,例如 phpMyAdmin或者 Navicat等来执行这些SQL语句。
1.将所有文件的作者改为另外一个用户
在修改之前,你先要知道两个不同用户的ID,你可以在WP后台的Author&User页面中找到这个ID,或者在查看用户信息时点击用户名的链接,地址栏中出现的user_id对应的值就是用户ID,然后运行以下命令进行修改:
UPDATEwp_postsSETpost_author='new-author-id'WHEREpost_author='old-author-id';
2.修改默认管理员admin的名称
WP默认安装会创建一个名为admin的管理员帐号,你可以修改这个帐号的名称:
UPDATEwp_usersSETuser_login='YourNewUsername'WHEREuser_login='Admin';
3.删除修订版Revision
文章修订版浪费了大量的存储资源,当你有数以千计的文章时,这个数值更加惊人,这会影响程序执行的性能、数据获取,降低页面加载时间,解决的办法就是删除这些无用的修订版信息:
DELETEa,b,cFROMwp_postsa LEFTJOINwp_term_relationshipsbON(a.ID=b.object_id) LEFTJOINwp_postmetacON(a.ID=c.post_id) WHEREa.post_type='revision'
4.更改GUID
在进行博客移植时,你需要修复wp_posts表中的URL里的GUID信息,这是非常关键的,因为GUID用于将URL路径与文章信息对应起来:
UPDATEwp_postsSETguid=REPLACE(guid,'http://www.oldsiteurl.com','http://www.newsiteurl.com');
5.更改Siteurl&Homeurl
当你将网站从本地移到真正的服务器,网站并无法使用,因为完整的路径依然指向localhost,你需要修改网站的URL和首页URL:
UPDATEwp_optionsSEToption_value=replace(option_value,'http://www.oldsiteurl.com','http://www.newsiteurl.com')WHEREoption_name='home'ORoption_name='siteurl';
6.删除Pingback数据
受欢迎的文章会收到大量的pingback信息,这会让数据库的体积庞大,可以使用下面SQL语句删除:
DELETEFROMwp_commentsWHEREcomment_type='pingback';
7.更改图片路径
如果你使用CDN来处理图片访问,在创建完CNAME记录后,你可通过下面查询来修改所有图像的路径:
UPDATEwp_postsSETpost_content=REPLACE(post_content,'src="http://www.oldsiteurl.com','src="http://yourcdn.newsiteurl.com');
你还需要通过下面语句来修改图片附件的GUID信息:
UPDATEwp_postsSETguid=REPLACE(guid,'http://www.oldsiteurl.com','http://yourcdn.newsiteurl.com')WHEREpost_type='attachment';
8.标出无用的标签
删除文章时并不会保证删除对应的标签,你必须手工来做这个事情,下面这个查询可让你找出那些没有用到的标签:
SELECT*Fromwp_termswt INNERJOINwp_term_taxonomywttONwt.term_id=wtt.term_idWHEREwtt.taxonomy='post_tag'ANDwtt.count=0;
9.重置密码
如果想重置登录密码,如果嫌麻烦可直接用下面的SQL语句来完成:
UPDATEwp_usersSETuser_pass=MD5('new_password')WHEREuser_login='your-username';
10.更新文章元数据
如果你的每篇文章都保持了特别的URL,可使用下面语句来处理:
UPDATEwp_postmetaSETmeta_value=REPLACE(meta_value,'http://www.oldsiteurl.com','http://www.newsiteurl.com');
在做任何修改之前,我们建议你对数据库做好备份后再操作。