Jawaban ini adalah cara saya akan ambil untuk memecahkan masalah jika saya harus menghadapinya, itu berarti tidak yang jawaban tetapi salah satu kemungkinan.
Semua operasi yang saya sarankan harus dijalankan pada server pengembangan / lokal pada cadangan database dan bukan pada produksi atau pada database asli.
Jika Anda memiliki 26.000 posting tetapi memposting id seperti 4.863.166.253 ada zillions id yang tidak digunakan.
Untuk mengatasi masalah ini, Anda perlu:
Langkah 1
- hapus id pos yang tidak digunakan. (pos sampah, revisi)
- anak yatim yang dihapus memposting entri meta
- menghapus entri hubungan taksonomi anak yatim
Ada plugin untuk ruang lingkup, tetapi bisa dilakukan dengan menggunakan query SQL mentah sederhana.
Langkah 2
Atur ulang id pos mengubahnya menjadi mulai dari 1. Ini dapat dilakukan dengan menggunakan kombinasi PHP + MySQL: jika Anda mengambil kolom post id sebagai array (mis. Via $wpdb->get_col()
), kunci array (bertambah 1) akan menjadi id posting baru untuk posting yang id saat ini dalam nilai array.
Perhatikan bahwa id tulisan harus diubah di:
- meja pos
- tabel hubungan taksonomi
- memposting tabel meta
Saya sarankan Anda menjalankan rutinitas seperti itu pada himpunan bagian tulisan menggunakan hasil paginasi dan bukan pada ribuan baris secara keseluruhan.
Langkah 3
Setel AUTO_INCREMENT
indeks pada tabel posting ke jumlah posting +1.
Selesai
Pada akhir proses ini, id posting Anda yang lebih tinggi harus dengan mudah di dalam batas integer 32bit.
Cegah batas posting tercapai lagi
Nonaktifkan pos revisi atau batasi jumlahnya (lihat Codex ).
Pindahkan posting lama (2 tahun? 5?) Ke blog terpisah di lingkungan multisite, misalnya site1-archive.example.com
untuk posting di site1.example.com
.
Ini dapat dilakukan dengan menggunakan eksportir WordPress dengan opsi rentang tanggal.
Jika Anda berencana untuk melakukan ini, jauh lebih baik jika dilakukan sebelum mengatur ulang id posting (langkah # 2 di atas), dengan cara ini kedua 2 blog dapat memiliki id posting yang lebih rendah.
Tentu saja setelah itu Anda juga harus menempatkan cara untuk mengalihkan url posting yang diarsipkan ke url baru.