实用的 WordPress 数据库清理 SQL

时间:12-10-17 栏目:站长の天地 作者:wukong 评论:0 点击: 1,705 次

  转自芒果 小站温馨提示:所有的数据库 SQL 查询都是不可恢复的,使用前请注意备份。

1、清理 WordPress 中怪异的乱码字符

编码问题对于中文来说着实蛋疼。除了手工更新文章内容的方法外,这里也有份 SQL 语句可供你选择。

UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“');
UPDATE wp_posts SET post_content = REPLACE(post_content, '†', '”');
UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’');
UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘');
UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–');
UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—');
UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-');
UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…');

UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '†', '”');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', '–');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', '—');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');

来自 http://digwp.com/2011/07/clean-up-weird-characters-in-database

2、一次性关闭所有文章的引用通知 (pingbacks, trackbacks) 功能

你是否使用引用通知功能,也就是常说的 pingbacks 和 trackbacks 机制。很多人觉得没啥太大用途。为了摆脱这些东东,你可以逐篇文字进行关闭,但这很浪费生命。如果你还在为这事情纠结,赶紧用下面的代码吧!

UPDATE wp_posts SET ping_status = 'closed';

来自 http://www.wprecipes.com/wordpress-tip-close-trackbacks-on-all-posts-at-once

3、删除未使用的短代码 (shortcodes)

WordPress 的提供的短代码 (shortcodes) 功能非常强大,但如果停用某个短代码后,短代码的标签就会在文章中直接显现。这份 SQL 查询会帮助你清楚那些过时的短代码(其中 [tweet] 请按实际修改):

UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;

来自 http://www.wprecipes.com/wordpress-tip-get-rid-of-unused-shortcodes

4、删除指定的自定义字段 (postmeta)

如果你添加过自定义字段,但后来又不想用了,可以通过这个方法删除:

DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';

来自 http://www.esoftload.info/10-sql-statements-for-wordpress

5、删除未使用的文章标签

标签随着文章数目的增长也是越来越多,不想再使用的标签,可以通过这个方法删除:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

来自 http://4rapiddev.com/tips-and-tricks/wordpress-delete…

6、删除 feed 缓存

WordPress 将 feed 缓存存储在 wp_options 表中,如果你希望清空这些,可以使用以下代码:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%')

来自 http://wpengineer.com/2114/delete-all-feed-cache…

7、删除所有文章修订版和相关元数据

文章修订版是非常实用的功能,但是如果不删除多余的修订版,数据库会随之变得冗余庞大。下面的代码可以用来删除这些修订版,并同时删除与其相关的元数据信息。

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

来自 http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries…

8、批量删除旧文章

不想要几年前发布的文章了?那就用下面的代码删除之。这个示例用于删除 600 天以前的旧文章。

DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 600

来自 http://stackoverflow.com/questions/5317599/wordpress-automatically-delete-posts…

9、清楚评论客户端信息

默认情况下,当访客发布评论时,WordPress 会自动在数据库中保存他们的客户端信息,这对于统计数据而言是非常有用的。但是绝大多数情况下是毫无意义的。这段代码将清空所有客户端信息,减少数据库体积。

update wp_comments set comment_agent ='' ;

来自 http://www.rsatechnologies.in/best-sql-queries-for…

10、批量禁用插件

有些情况,比如 WordPress 升级等操作需要禁用所有插件。如果你安装了很多很多插件,面板操作需要执行很长时间。以下代码一次性禁用所有插件:

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

来自 http://www.wprecipes.com/how-to-disable-all-your-plugins…

11、改变所有文章作者属性

需要改变博客的作者属性?那可能需要手工挨个修改,太麻烦了!

首先,你需要获得所有的用户 ID,在 phpMyAdmin 中执行以下语句:

SELECT ID, display_name FROM wp_users;

现在,phpMyAdmin 已经筛选出了所有的用户信息,包括他们的 ID。参照下面的语句按实际情况修改执行:

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

执行这段代码后,所有的文章中的旧作者就被替换为新作者了。

英文原稿:10+ useful SQL queries to clean up your WordPress database
翻译整理:10 条实用的 WordPress 数据库清理 SQL

声明: 本文由( wukong )原创编译,转载请保留链接: 实用的 WordPress 数据库清理 SQL

实用的 WordPress 数据库清理 SQL:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!

------====== 本站公告 ======------
大家有任何疑问和建议,请到这里留言:点击留言板

读者排行