Alte Produktartikel-Einträge in der wp_posts loswerden

Alle Fragen zu den Kauf-Modulen von wpShopGermany4.

Moderator: maennchen1.de

Antworten
Dirk
Beiträge: 528
Registriert: 04.02.2015, 11:50
Lizenz: wpShopGermany Enterprise
Wohnort: München

Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von Dirk »

Hallo ihrs,

aus vorherigen Tests des Moduls Produktartikel mit anderem "Path Key (Produkte)" gibt es nun eine Menge Einträge in der tabelle wp_posts, die eigentlich weg gehören.

Die wp_posts hat bei mir nun über 46.000 Datensätze, wovon gut 41.000 posts aus alten Tests sind, die nicht mehr existieren.

SELECT * FROM `wp_posts` WHERE `post_type` LIKE 'ALTER PATH KEY'

Ein Löschen der posts löscht wohl nicht die Einträge in dieser Tabelle und wpshop kümmert sich wohl auch nicht drum. Warum ist das ein Problem? Naja Datenmüll bringt die DB-Performance runter, aber was mehr stört ist die Ziffer, die hinten angehängt wird an der finalen URL, weil es einen solchen Eintrag in der WP_posts sonst schon gibt - das Produkt ist ja das gleiche, wenn auch mit anderem Path key. Bevor ich jetzt in jedem Produkt hinten in der URL die Zahl wegbekommen kann, muss ich den Grund für die Zahl löschen, sprich, die vorhandenen alten wp_posts_Einträge.

Das müsste dann mit diesem Statement gehen

Delete* FROM `wp_posts` WHERE `post_type` LIKE 'ALTER PATH KEY';

Ist das korrekt? Tipps?
Wie kann ich die Wp_posts sonst bereinigen?

Grüsse, Dirk
Benutzeravatar
daschmi
m1.Mitarbeiter
Beiträge: 2595
Registriert: 04.12.2007, 17:23
Lizenz: keine
Kontaktdaten:

Re: Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von daschmi »

Hi,

wenn man wie du den Path Key ändert, löscht das nicht die alten Posts das ist korrekt. Der wird dann beim "Neu aufbauen" oder speichern einzelner Produkte wieder mit dem neuen Key erzeugt.

Du kannst sie mit folgendem Query aufräumen:

Code: Alles auswählen

DELETE FROM `wp_posts` WHERE `post_type` = 'Alter_Post_Type';
Alternativ kannst du folgendes Plugin nutzen:

https://de.wordpress.org/plugins/bulk-delete/

Viele Grüße

Daschmi
Dirk
Beiträge: 528
Registriert: 04.02.2015, 11:50
Lizenz: wpShopGermany Enterprise
Wohnort: München

Re: Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von Dirk »

Hallochen,

das Plugin ist kostenpflichtig für die wirklich sinnvollen Funktionen. Aber:
Ich habe mit der aktuellen Version mal den Path Key geändert und die Produktartikel neu aufbauen lassen, Die alten wurden dabei aber umbenannt in den geänderten Pathkey. Ist das ein recht neues Verhalten des Moduls? Das schien vorher nicht der Fall zu sein und oben schreibst Du es ja auch so. Aber der Test sagt mir etwas anderes.....

Grüsse, Dirk
Benutzeravatar
daschmi
m1.Mitarbeiter
Beiträge: 2595
Registriert: 04.12.2007, 17:23
Lizenz: keine
Kontaktdaten:

Re: Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von daschmi »

Hi,

ich hab mir jetzt den Code angeschaut da wird eigentlich nichts umbenannt. Er soll nur Posts löschen von Produkten die es nicht mehr gibt.

Mach mal folgendes:

- Backup
- Query ausführe:

Code: Alles auswählen

DELETE FROM `posts` WHERE `wpsg_produkt_id` > 0
Das löscht alle Produktbeiträge aus der Posts, an die Spalte hatte ich gar nicht mehr gedacht. Wenn du so vorgehst ist der Beitragstyp/Pahtkey egal.

- Dann das "Neu aufbauen" durchführen, das sollte die Posts wieder mit dem korrekten PathKey anlegen.

Viele Grüße

Daschmi
Dirk
Beiträge: 528
Registriert: 04.02.2015, 11:50
Lizenz: wpShopGermany Enterprise
Wohnort: München

Re: Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von Dirk »

Hallo Daniel,

mit dem DELETE-statement oben konnte ich die alten (und die neuen) Datensatzleichen loswerden. Ein Neuaufbau hat dann alles hübsch generiert wie es sein soll :-) Danke für die Hilfe.

Grüsse, Dirk
Benutzeravatar
daschmi
m1.Mitarbeiter
Beiträge: 2595
Registriert: 04.12.2007, 17:23
Lizenz: keine
Kontaktdaten:

Re: Alte Produktartikel-Einträge in der wp_posts loswerden

Beitrag von daschmi »

Hi,

Prima. Danke für das Feedback.

Viele Grüße

Daschmi
Antworten