WordPressサーバー移行時に、
投稿の差分が少し発生してしまい、その分を移行後のサイトに手動で登録しました。
その時に
post_idが移行前のものと違うIDになってしまったので、
DBから手動でpost_idを変更した時の方法となります。
例:
変更前ID: 10
変更後ID: 20
◆wp_postsを更新
1 2 |
UPDATE wp_posts SET guid = REPLACE(guid,'?p=10','?p=20') WHERE ID =10 UPDATE wp_posts SET ID =20 WHERE ID =10 |
◆wp_postmetaを更新
1 |
UPDATE wp_postmeta SET post_id=20 WHERE post_id=10 |
◆wp_term_relationshipsを更新
1 |
UPDATE wp_term_relationships SET object_id=20 WHERE object_id=10 |
上記3つのテーブルが基本ですが、
WordPressの使い方によっては、以下テーブルも変更する必要があります。
wp_comments
wp_commentmeta
余談
ちなみに この時
このサイトは
「パーマリンク設定」カスタム構造 /%category%/%post_id%.html
という設定だったため、WP管理画面のURLを変えられなかったので、
/%category%/%postname%.html
として、
移行前のIDで編集を書けたのですが、
設定を
/%category%/%post_id%.html
に戻したら、
結局、違うURLになってしまい、
post_idを元から直さないといけないなということで 上記作業を行いました。