Beitrags-ID zurücksetzen

  • Weiß jemand, wie das geht?

    Hintergrund: mich nervt die Auto-Speicherung. Ist bei mir inzwischen aus. Es kann sein, dass ich einen Artikel anfange, ihn dann aber doch wieder lösche usw. Durch das Speichern ist aber bspw die ID 100 belegt worden.

    In WP 2.6 wird es offenbar ein Revisionssystem geben. An sich eine nette Idee, hat aber den Nachteil, dass mit jedem Druck auf "Speichern" eine Kopie mit neuer ID angelegt wird. Schreibt also jemand den Artikel mit der ID #100 und ändert nach der Veröffentlichung noch etwas (u.U. mehrfach), wird pro Speichervorgang eine ID verbraucht.

    Und mir gefällt es nicht, wenn der nächste echte Artikel dann bspw die ID #105 hat.

    Also, welche Einträge in der Datenbank müsste ich löschen, damit WP die ID ermittelt, die tatsächlich frei ist (101 bspw.). Die Einträge der Revisionen usw sind bereits gelöscht.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Verschwende keinen Gedanken daran, imho kann man daran nicht rumbasteln...und es gibt auch keinen Grund dafür.

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Du verwechselst hier was. Das ist kein (echtes) WP-Problem, sondern eins mit Datenbanken. Im speziellen Fall mit dem auto_increment (hier müsstest du evtl. auch ansetzen). Es ist in Datenbanken üblich, dass jeder Eintrag einen eindeutigen Wert erhält (die ID) und diese auch nicht doppelt vergeben werden. D.h. beim Löschen einer ID wird diese nicht wieder "frei". Eine erneute Belegung einer ID ist in den Datenbanksystemen nicht vorgesehen.

    Was stört dich eigentlich an den IDs? In den Permalinks kannst du diese ja ausblenden.

  • Dasselbe "Problem" gibt es doch schon lange mit Uploads (Attachments). Da wird auch jedesmal eine Post-ID verbraucht, so das Lücken zwischen den eigentlichen Artikeln entstehen.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Man kann es ändern, jottlieb. Die Gründe hatte ich genannt. Ich habe übrigens die Lösung. Die gilt aber nur, wenn man die höchste ID nutzen will. Sind zwischendurch Lücken (Beitrag 1 - 2 - 3 - 5 - 6 - 10 - 11, usw), dann ist das eben Pech.

    In meinem Fall habe ich in den Tabellen "wp_posts", "wp_postmeta" und "wp_term_relationship" alle Felder gelöscht, die auf eine Revision hindeuten. Das ist auch kein Problem! Wenn mein Artikel die ID 100 hat, und ich sehe eine Revision (gleicher Artikel, nur minimal anderer Text) mit der ID 101, dann lösche ich aus den o.g. Tabellen alles, was die 101 enthält.

    Dann in den SQL-Modus und

    Code
    ALTER TABLE wp_posts AUTO_INCREMENT = 101

    und voilá, der nächste Beitrag bekommt die ID 101.


    Was stört dich eigentlich an den IDs? In den Permalinks kannst du diese ja ausblenden.


    Ich nutze aber bewusst die Struktur, in der man die ID sieht.

    Einmal editiert, zuletzt von msi (22. April 2008 um 14:27)

  • Was mir immer noch nicht einleuchten will, was hast Du davon, daß der nächste Artikel die 101 bekommt, worin liegt der Vorteil? Und Uploads verwendest Du auch nicht, oder?

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Nenne es Eigenart, Marotte, Neurose ... :mrgreen: Ich habe kein Problem damit, wenn ich zwischendurch Lücken in der Reihenfolge habe. Hab schon einige Beiträge entfernt oder auf Privat gesetzt. Aber nicht wg dieses Autospeichern- und Revisionsquatsches.

  • Ja gut, irgendeine Macke hat wohl jeder :-) Man muß nicht alles rational begründen können.
    Bestimmt kann man die 2.6er Revisionierung auch irgendwie abschalten...


    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Abgeschaltet habe ich das bereits; Datei "default-filters.php"

    Code
    //add_action( 'pre_post_update', 'wp_save_revision' );

    Das war aber bei meinem letzten Beitrag noch aktiv. Darum die Suche nach der Lösung. Ich würde nichts sagen, wenn es dafür bspw die Tabelle "wp_revisions" gäbe. Ein Problem dürfte dies kaum sein. Jede Revision hat ihre eigene ID und verweist aber auf den veröffentlichten Beitrag. So ähnlich wie dies in der Tabelle "wp_term_relationship" für Tags und Kategorien gemacht wird.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!