まず、前提条件として法則性があることが必須となります。この法則性とは、use_id=3 だった人の記事が一律user_id=2になっているということで、user_id=3だった人の記事が、user_id=2になっていたり、user_id=4になっていたり、まちまちである場合は1記事づつ戻すしかないと思われます。
法則性がある場合は、以下のコードで変更後のID2のユーザーの記事をID3のユーザーに付け替えることが可能です。
global $wpdb;
$wpdb->update( $wpdb->posts, array( 'post_author' => 3 ), array( 'post_author' => 2 ), array( '%d' ), array( '%d' ) );
ただし、ユーザーID3の記事がユーザーID2に、ユーザーID2の記事がユーザーID1に、ユーザーID1の記事がユーザーID3になっているような場合は注意が必要です。このような状況で、上記のコードを実行した場合、ユーザーID3の記事に、ユーザーID3の記事とユーザーID1の記事であるべきものが混在してしまい切り分けができなくなってしまいます。
このようなケースにおいては、一旦1003などのユーザーIDが存在しないIDに待避させておいて、ユーザーID3の変更処理を行った後、改めて1003から3への変更を行う必要があります。
- ユーザーID2の記事をユーザーID1003に待避
- ユーザーID1の記事をユーザーID2に変更
- ユーザーID3の記事をユーザーID1に変更
- ユーザーID1003に待避させていた記事をユーザーID3に変更
また、これらの処理は基本的に戻しが効かないと考えてください。
ですので、バックアップを取り、いつでも戻せる状態にした上で、綿密に計画を練って実施する必要があります。
jim912様
有難うございます。
上記の方法に沿って取り組んでみます。
お手数かけますが、
書き換えるファイル名を教えていただけますか?
よろしくお願いいたします。
global $wpdb;
で検索すると、いろいろ情報があり勉強になりますよ。
有難うございました。
無事ユーザーIDの書き換えを行うことができました。