由于Wordpress / bbPress导入错误,我有重复的用户记录,即“james@foo.com”,ID 8和“imported_james@foo.com”,ID 104.
导入的帖子已分配到ID 104.我想将它们更改为8,以便我可以删除所有“imported_%”用户。
是否有查询或简单的PHP脚本允许我一次执行此操作?
SELECT "from", ou.ID, "to", u.ID FROM wp_users u
LEFT JOIN wp_users ou ON u.user_email=substring(ou.user_email,10)
WHERE ou.ID IS NOT NULL
这向我展示了旧的和新的并排。但是,我需要做什么才能使用新值更新wp_posts中的post.author?
答案 0 :(得分:0)
我编写了以下脚本,一次性执行此操作:
<?php
global $wpdb;
$sbs=$wpdb->query("select ou.ID old_id, u.ID new_id from wp_mmk_users u left join wp_mmk_users ou on u.user_email=substring(ou.user_email,10) where ou.ID IS NOT NULL", OBJECT);
foreach($sbs as $row) {
$wpdb->update('wp_mmk_posts',
array( 'post_author' => $row->new_id),
array('post_author'=> $row->old_id),
array( '%d' ),array( '%d' )
);
echo "old: ".$row->old_id." new: ".$row->new_id."<br />";
}
?>
这就是诀窍。 :)