• Gelöst masterriemi1702

    (@masterriemi1702)


    Hallo zusammen.

    ich muss aus einer Seite mit recht vielen Beiträgen alle Beiträge eines bestimmten post_authors in den wp_posts löschen

    kann mir dafür jemand den Syntax nennen mit dem ich in PhpMyAdmin dies machen kann?

    lg

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Ich versuche, direkte Änderungen in der Datenbank zu vermeiden. Wie wäre es mit einem Plugin, z.B. WP Bulk Delete? Oder mit wp-cli.

    Vor solchen Eingriffen bitte immer die Datenbank sichern (Backup).

    Thread-Starter masterriemi1702

    (@masterriemi1702)

    Kann ich imit dem bulk delete tool auch nur posts löschen eines authors dessen id ich habe ? Ich habe auch backups von allem, daher wäre mir über phpmyadmin schon lieber

    Hier fehlen mal wieder Infos … wieso hast du nur die ID eines Benutzers? Wenn du den Benutzer löschst, wirst du gefragt, ob du seine Beiträge löschen oder einem anderen Nutzer übertragen möchtest – dann sind die Beiträge aber diesem anderen Nutzer zugewiesen. Hast du den Nutzer nicht gelöscht, findest du ihn im Menü Benutzer. Alternativ kannst du den Benutzernamen in der Datenbank-Tabelle wp_users nachschlagen.

    Mit dem genannten Plugin kannst du Beiträge und Seiten nach Benutzername löschen.

    Thread-Starter masterriemi1702

    (@masterriemi1702)

    Ich hatte eine gehackte Seite, welche nur aufgefallen ist, weil in der Sitemap 1000 Beiträge mit Werbeseiten innerhalb der Installation vollgemüllt und unsichtbar war.

    Durch einen Blick in die datenbank konnte ich diese nun ausfindig machen und nach einer Überlegung, wie ich diese am schnellsten lösche, ist mir aufgefallen, dass der gemeinsame Nenner die ID war.

    Mit dem Befehl:

    DELETEFROMwp_postsWHEREpost_author=1031;

    Konnte ich diese nun bereinigen. Mir ist klar, dass dies natürlich eine gründliche Überprüfung der Seite nicht ersetzt und dies wir nun auch getan 🙂

    Dann wollen wir hoffen, dass da nicht verwaiste Datenbankeinträge übrig bleiben, die auf die gelöschten Post-IDs verweisen.

    Schön, dass du für dich eine Lösung gefunden hast. Ich markiere den Thread als „gelöst“.

    Moderator Michi91

    (@michi91)

    DELETE pm
    FROM wp_postmeta pm
    LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
    WHERE wp.ID IS NULL
    

    solltest du noch ausführen um die postmeta Einträge die nun verwaist sind zu löschen.

    Ist keine Pflichtaufgabe, aber wer Ordnung mag 😀

    Anonymous User 20597857

    (@anonymized-20597857)

    Ich hätte einfach die Beiträge(Liste in einer ordentlich langen Ansicht eingestellt), nach Autor sortiert und Seite für Seite alles markieren > löschen.

    Thread-Starter masterriemi1702

    (@masterriemi1702)

    dazu hätte wordpress mir die „eingeschleusten“ Beiträge erst einmal anzeigen müssen. Die waren ja versteckt.

    lg

    Anonymous User 20597857

    (@anonymized-20597857)

    Ach so, sorry, habe ich überlesen, dass die Beiträge u.o. der Autor unsichtbar waren.
    Dann ist jenes SQL der einzige Weg, der auch mir einfällt.

    Ist aber eh arg, das einem so etwas nur durch einen Zufall auffällt. Also ein unsichtbarer Autor, dessen Müll-Beiträge und man weiß nichts von. 😨

    Ob eins der großen Sicherheitsplugins da geholfen hätte?

    Nochmal Sorry, habe nur den Startpost gelesen und den Rest überflogen, daher meine blode Antwort.
    Hoffe, deine Site ist, wird wieder komplett sauber und das dann „hier kommst net rein!“ gilt.

    So, nun check ich die Sitemaps meiner Sites – gespannt bin …

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Das Thema „Beiträge eines post_authors in DB löschen“ ist für neue Antworten geschlossen.