介绍使用WordPress时10个常用的MySQL查询
大多数使用 wordpress 搭建的网站,其后台都是 mysql 数据库,经常我们需要定制 wordpress 的功能,这里我们列表 10 个最有用的 wordpress 的数据库查询,你需要一个数据库的管理工具,例如 phpmyadmin 或者 navicat 等来执行这些 sql 语句。
1. 将所有文件的作者改为另外一个用户
在修改之前,你先要知道两个不同用户的 id,你可以在 wp 后台的 author & user 页面中找到这个 id,或者在查看用户信息时点击用户名的链接,地址栏中出现的 user_id 对应的值就是用户id,然后运行以下命令进行修改:
update wp_posts set post_author = 'new-author-id' where post_author = 'old-author-id';
2. 修改默认管理员 admin 的名称
wp 默认安装会创建一个名为 admin 的管理员帐号,你可以修改这个帐号的名称:
update wp_users set user_login = 'your new username' where user_login = 'admin';
3. 删除修订版 revision
文章修订版浪费了大量的存储资源,当你有数以千计的文章时,这个数值更加惊人,这会影响程序执行的性能、数据获取,降低页面加载时间,解决的办法就是删除这些无用的修订版信息:
delete a,b,c from wp_posts a left join wp_term_relationships b on (a.id = b.object_id) left join wp_postmeta c on (a.id = c.post_id) where a.post_type = 'revision'
4. 更改 guid
在进行博客移植时,你需要修复 wp_posts 表中的 url 里的 guid 信息,这是非常关键的,因为 guid 用于将 url 路径与文章信息对应起来:
update wp_posts set guid = replace (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
5. 更改 siteurl & homeurl
当你将网站从本地移到真正的服务器,网站并无法使用,因为完整的路径依然指向 localhost,你需要修改网站的 url 和首页 url:
update wp_options set option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') where option_name = 'home' or option_name = 'siteurl';
6. 删除 pingback 数据
受欢迎的文章会收到大量的 pingback 信息,这会让数据库的体积庞大,可以使用下面 sql 语句删除:
delete from wp_comments where comment_type = 'pingback';
7. 更改图片路径
如果你使用 cdn 来处理图片访问,在创建完 cname 记录后,你可通过下面查询来修改所有图像的路径:
update wp_posts set post_content = replace (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
你还需要通过下面语句来修改图片附件的 guid 信息:
update wp_posts set guid = replace (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') where post_type = 'attachment';
8. 标出无用的标签
删除文章时并不会保证删除对应的标签,你必须手工来做这个事情,下面这个查询可让你找出那些没有用到的标签:
select * from wp_terms wt inner join wp_term_taxonomy wtt on wt.term_id=wtt.term_id where wtt.taxonomy='post_tag' and wtt.count=0;
9. 重置密码
如果想重置登录密码,如果嫌麻烦可直接用下面的 sql 语句来完成:
update wp_users set user_pass = md5( 'new_password' ) where user_login = 'your-username';
10. 更新文章元数据
如果你的每篇文章都保持了特别的 url ,可使用下面语句来处理:
update wp_postmeta set meta_value = replace (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');
在做任何修改之前,我们建议你对数据库做好备份后再操作。
下一篇: nagios详解 nagios监控