WordPress中,文章作者,评论作者信息默认是不允许更改的,处于某些原因,我们又需要更改,这怎么办呢?

那就直接去数据库中更改吧,在修改之前请先备份好数据库,最好是在本地环境测试完毕后再更新到线上。

WordPress储存用户数据是在wp_userswp_usermeta两个表中(wp_为数据库前缀)

wp_users

WordPress 使用这个数据表存储已注册的用户。用户ID,登录账号,加密的密码,全名,邮箱,网站,注册日期,显示昵称等资料都保存在 wp_users 表中。总之是它认为必要的信息用户。

wp_usermeta

就像 wp_postmeta 数据表是为日志准备的,wp_usermeta 数据表是为用户准备的。可以用它保存注册用户的所有信息 — 个人博客设置(举个例子,如个人可视化编辑器喜好设置),生日,联系信息等等。

如果要修改用户信息,例如替换用户,批量增添用户,那么必须要修改以上内容;如果替换用户还发表了文章、评论,那么还需要照下面的说明修改文章作者和评论记录。

wp_posts 之 post_author

post_author项保存的是对应文章作者的ID,故要修改文章作者,只需要将post_author更改成目标作者的用户ID

wp_comments 之 user_id

评论也会记录已登录的作者user_id,所以修改评论的用户就需要更改wp_comments表里的user_id,将其修改为目标用户的ID即可。

小结:

将ID为1的用户完全更改成ID为2的用户(不建议这样做,若存在ID2的用户,则会导致ID2同时存在多个信息而无法登陆,如果要替换用户23可以先将2改为4,再将3改为2,最后将4改为3)

UPDATE wp_users SET ID = 2 WHERE ID = 1;
UPDATE wp_usermeta SET user_id = 2 WHERE user_id = 1;
UPDATE wp_posts SET post_author = 2 WHERE post_author = 1;
UPDATE wp_comments SET user_id = 2 WHERE user_id = 1;

SQL执行后的效果为:把用户 id=1 修改成 id=2

通过以上的方法,就能把一个用户的id修改成另外一个id。

如果只是替换文章作者,在wp_users中查询到对应用户ID后,执行以下语句即可:

UPDATE wp_posts SET post_author = 目标用户ID WHERE post_author = 原作者用户ID;

如果是更改相应文章的作者,首先在wp_posts中查询对应文章的ID

select ID,post_title from wp_posts;

然后更改对应文章ID的作者:

UPDATE wp_posts SET post_author = 目标用户ID WHERE ID = 对应文章ID;

分类: WordPress

0 条评论

发表评论