Ich betreibe Wordpress seit vielen Jahren und habe ungefähr 26000 Beiträge.
Irgendwann haben meine Post-IDs eine 32-Bit-Ganzzahl überschritten, und ich bin jetzt daran gebunden, Wordpress auf einem 64-Bit-System zu verwenden.
Ich sehe Beiträge mit IDs wie 4863166253.
Ich möchte mein Hosting auf einen Server mit geringem Stromverbrauch wie einen Himbeer-Pi mit 32 Bit umstellen.
Gibt es eine Möglichkeit, die Post-IDs so zurückzusetzen, dass sie alle unter 2 Milliarden liegen?
Sie können meinen Wordpress-Fehlerbericht hier lesen
Vielen Dank.
Antworten:
Diese Antwort ist der Weg, den ich gehen würde, um das Problem zu lösen, wenn ich mich dem stellen müsste. Es bedeutet, dass es nicht die Antwort ist, sondern eine der Möglichkeiten.
Alle von mir vorgeschlagenen Vorgänge sollten auf einem Entwicklungs- / lokalen Server in einer Datenbanksicherung ausgeführt werden und nicht in der Produktion oder in der Originaldatenbank.
Wenn Sie 26.000 Beiträge haben, aber eine Beitrags-ID wie 4.863.166.253, gibt es zig Millionen von IDs, die nicht verwendet werden.
Um dieses Problem zu lösen, müssen Sie:
Schritt 1
Es gibt Plugins für den Bereich, die jedoch mithilfe einfacher SQL-Rohabfragen ausgeführt werden können.
Schritt 2
Setzen Sie die Post-IDs zurück, indem Sie sie so ändern, dass sie wieder bei 1 beginnen. Dies kann mit einer Kombination aus PHP + MySQL erfolgen: Wenn Sie die Post-ID-Spalte als Array abrufen (z. B. über
$wpdb->get_col()
), sind Array-Schlüssel (um 1 erhöht) neue Post-IDs für Beiträge, deren aktuelle ID in Array-Werten angegeben ist.Beachten Sie, dass die IDs der Beiträge geändert werden müssen in:
Ich schlage vor, dass Sie eine solche Routine für Teilmengen von Posts mit paginierten Ergebnissen und nicht für Tausende von Zeilen insgesamt ausführen.
Schritt 3
Setzen Sie den
AUTO_INCREMENT
Index für die Post-Tabelle auf Post Count + 1.Erledigt
Am Ende dieses Vorgangs sollte Ihre höhere Post-ID leicht innerhalb der 32-Bit-Ganzzahlgrenze liegen.
Post-Limit verhindern wird wieder erreicht
Deaktivieren Sie Post-Revisionen oder beschränken Sie die Anzahl (siehe Codex ).
Verschieben Sie ältere Beiträge (2 Jahre alt? 5?) In ein separates Blog in einer Umgebung mit mehreren Standorten, z . B.
site1-archive.example.com
für Beiträge insite1.example.com
.Dies kann mit dem WordPress-Exporter mit Datumsbereichsoption erfolgen.
Wenn Sie dies vorhaben, ist dies viel besser, wenn Sie dies vor dem Zurücksetzen der Post-IDs tun (Schritt 2 oben). Auf diese Weise können beide 2 Blogs eine niedrigere Post-ID haben.
Danach sollten Sie natürlich auch eine Möglichkeit einrichten, archivierte Post-URLs auf neue URLs umzuleiten.
quelle