WordPressサイトをサブディレクトリ型(example.com/aaa/)マルチサイト化したいが、
1ヶ月以上経過した記事が存在する場合、
強制的にサブドメイン型(aaa.example.com)になってしまう。
network.phpのコードをいじる対処法もあるそうだが、
私の環境では上手くいかなかった。(2022年2月9日時点)
データベースを一時的に書き換える方法を試したところ、
サブディレクトリ型にすることに成功した。
##手順
※一つ間違えるとデータベースやサイトデータが消失・破損する可能性があります。
必ず自己責任でお願いいたします。
1.phpMyAdminへアクセスし、wp_postsのバックアップを取る。
2.SQLタブに移動し、以下のコードをコピペして実行。
wp_postsに保存されている記事の公開日を一時的に本日の日付に変更する。
UPDATE wp_posts SET post_date = DATE(NOW()), post_date_gmt = DATE(NOW()) WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 MONTH) AND post_status = 'publish';
3.サブディレクトリ型orサブドメイン型を任意で選択できるようになれば成功。
その後の設定は自身のサイトに合わせて行う。
4.再びphpMyAdminへアクセスし、wp_postsを空もしくは削除する。
wp_postsのバックアップをインポートして元に戻す。
##参考にさせていただいた記事
https://illustswitch.com/wp-multisite-subdirectory/