批量修改wordpress发布文章的两个sql语句

想把所有2008-08-08发的文章改成2009-09-09:
1. 登录到phpMyAdmin, 在sql里敲上:

update wp_posts set post_date = replace(post_date, ‘2008-08-08’, ‘2009-09-09’);

注:因为post_date这个字段是包含了日期和时间的,如果不需要批量的修改时间,所以可以将时间保留。
2. 执行完上一步的sql后,你发现所有2008-08-08发的文章已经变成2009-09-09,但是在wp_posts里还有个post_date_gmt的字段,我们需要将post_date_gmt与post_date来同步,因此我们在sql里敲上:

update wp_posts set post_date_gmt = post_date WHERE post_date_gmt <> post_date;

这样一来就完成了。
注意:在执行数据库的操作之前,最好进行一次备份,以免数据的丢失。

2. 将文章发布日期批量提前60天

由于新建一个网站需要大量导入数据, 导入后需要对不同的分类进行文章的日期进行修改,wordpress的文章和页都统一存放在wp_posts表,分类存放在wp_terms表,关系表为 wp_term_relationships,知道表关系后就可以写sql修改时间了。

将文章时间提前60天:
UPDATE wp_posts,wp_term_relationships SET post_date=DATE_add(post_date,interval 60 day) WHERE wp_posts.id = wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id = 3
将文章时间推后60天:

UPDATE wp_posts,wp_term_relationships SET post_date=DATE_sub(post_date,interval 60 day) WHERE wp_posts.id = wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id = 3

发表评论

电子邮件地址不会被公开。 必填项已用*标注