WordPress批量替换内容之数据库SQL语句

当一个网站数据量较大时,需要替换所有内容中的部分内容最快方法,当然是在phpmyadmin使用sql语句来完成,替换前务必备份数据库,以免出现失误

替换语句

UPDATE wp_posts SET post_content = REPLACE( post_content, 'old content A', 'new content B' )

解释:更新数据库中wp_posts表post_content字段的内容”old content A”为”new content B”(不包含双引号””)

 

快捷方法:安装WordPress插件Find and Replacer 然后使用插件来,这个方便,但是我更喜欢直接用SQL语句来
完成。

插件使用方法截图如下:
WordPress批量替换数据库中内容SQL语句

WordPress常用SQL语句
筛选自定义meta的YouRUrl_value包含.pdf的内容,替换为.rar

UPDATE `wp_postmeta` SET `meta_value` = REPLACE( meta_value, '.pdf', '.rar' ) WHERE `meta_key` = 'YouRUrl_value' AND `meta_value` LIKE '%.pdf%'

 

1. 删除所有未使用的标签

DELETE a,b,c
FROM wp_terms AS a
LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE c.taxonomy = 'post_tag' AND c.count = 0

 

2.删除所有文章修订版本(Revisions)以及它们的Meta数据

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'

 

3. 更改WordPress地址和首页地址

UPDATE wp_options
SET option_value = replace(option_value, 'http://www.旧网址.com', 'http://www.新网址.com')
WHERE option_name = 'home' OR option_name = 'siteurl'

 

4. 更改文章的GUID

UPDATE wp_posts
SET guid = REPLACE (guid, 'http://www.旧网址.com', 'http://www.新网址.com')

 

5. 更改正文中的链接地址

UPDATE wp_posts
SET post_content = REPLACE (post_content, 'http://www.旧网址.com', 'http://www.新网址.com')

 

6. 更新文章的Meta值

UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, 'http://www.旧网址.com', 'http://www.新网址.com')

 

7. 重设Admin密码

UPDATE wp_users
SET user_pass = MD5( 'new_password' )
WHERE user_login = 'admin'

 

8. 重设admin的用户名

UPDATE wp_users
SET user_login = 'newname'
WHERE user_login = 'admin'

 

9. 将作者a的文章全部转移到作者b

UPDATE wp_posts
SET post_author = 'b'
WHERE post_author = 'a'

 

10. 删除文章的meta标签

DELETE FROM wp_postmeta
WHERE meta_key = 'your-meta-key'

 

11. 导出所有评论中的邮件地址

SELECT DISTINCT comment_author_email
FROM wp_comments

 

12. 删除所有的Pingback

DELETE FROM wp_comments
WHERE comment_type = 'pingback'

 

13. 删除所有的垃圾评论

DELETE FROM wp_comments
WHERE comment_approved = 'spam'

 

14. 禁用所有激活的插件

UPDATE wp_options
SET option_value = ''
WHERE option_name = 'active_plugins'

 

15. 罗列所有未使用的Meta标签

SELECT *
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL

 

16. 关闭旧文章的留言

UPDATE wp_posts
SET comment_status = 'closed'
WHERE post_date < '2009-01-01' AND post_status = 'publish'

 

17. 更新留言者的网址

UPDATE wp_comments
SET comment_author_url = REPLACE( comment_author_url, 'http://旧网址.com', 'http://新网址.com' )

 

18. 更新正文内所有的’target=”_blank”‘为’rel=”nofollow”‘

UPDATE wp_posts
SET post_content = REPLACE (post_content, 'target="_blank', 'rel="nofollow')

 

19.删除未使用的Meta标签

DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL

 

20.更改文章自定义字段的名称

UPDATE `wp_postmeta` SET `meta_key` = '新名称' WHERE `meta_key` = '旧名称';

 

晴朗网络专注WordPress建站,提供资源和经验分享,欢迎咨询交流!
晴朗网络 » WordPress批量替换内容之数据库SQL语句