By烟花易冷

另类删除全部WordPress文章方法
2015-07-10

昨天客户有一个站,里面大约有13W的文章(后台看了大约669页),需要全部删除,手动一页页删除肯定是对时间的一大考验,因此我想除了第一个方法,通过文章的postid执行wordpress删除的函数,我写了一段PHP代码置于functions.php,然并卵,文章依旧活得好好的,下面献上这段脚本看看哪路同行看出个之所以然告知为何行不通呢。

QQ图片20150710134350

网站有不少其他数据,不能重装WordPress,我便删除了数据库里面的wp_posts这个表,然后重新创建了看似一个一模一样的,神奇的事情发生了,wordpress文章确实全部无影无踪,但是却无法写文章了,居然还提示个权限不够,使用wp_insert_post函数也无法导入文章,那怎么办好呢,只要你想办成一件事,方法总比困难多,我就来了点小计俩,狸猫换太子之术走起~

1、首先,编辑wp-config.php,找到数据库的表前缀(一般是wp_),把它修改为另一个不重复的值,我这里设置为了wp2_,然后保存。
2、重新访问网站,wordpress安装配置如期而至,信息随便填写,反正无关紧要,此处省略xx字。
3、进入phpmyadmin数据库管理,把自己新建的罪魁祸首wp_posts删除,然后执行如下SQL命令:

alter table wp2_posts rename wp_posts;

4、重新编辑wp-config.php,把表前缀修改回wp_。
5、没有第5啦,访问网站看看,是不是文章只剩下一篇Hello Word了呢?5分钟不到,六百多页变成1篇,大功告成@~@