webentwicklung-frage-antwort-db.com.de

Wie füge ich Kategorien mit phpMyAdmin zusammen?

Ich habe die folgende phpMyAdmin-Abfrage versucht, um meine Kategorie 112747 in meine Kategorie 112748 zusammenzuführen:

UPDATE `wp_term_relationships`
SET `term_taxonomy_id` = 112747
WHERE `term_taxonomy_id` = 112748;

Es hat nicht funktioniert. Welche Fehler enthält die Abfrage?

wordPress 3.8.2

phpMyAdmin 4.18

MySQL 5.5.34-cll-lve

Eine WordPress-Website von mir hat fast 300.000 Beiträge, wobei die meisten Kategorien mindestens 5.000 Beiträge enthalten. Ich möchte unter anderem viele Kategorien zusammenführen, um die Geschwindigkeit und Leistung der Website zu verbessern.

Ich habe versucht, verschiedene Plugins zu verwenden, um Kategorien aus dem WordPress-Dashboard zusammenzuführen, aber es scheint, dass meine Fähigkeit, die Plugins erfolgreich zu verwenden, durch verschiedene automatische Kill/Limiting-Funktionen von MySQL, CPU und PHP der gemeinsam genutzten Hosting-Umgebung (Cloudlinux) beeinträchtigt wird ) wo sich meine Website befindet; Mit anderen Worten, die Aufgaben werden "getötet", bevor sie abgeschlossen werden. Manchmal "stürzt" die gesamte Website ab.

Mir ist bekannt, dass das Löschen einer Kategorie mithilfe des WordPress-Dashboards die Beiträge dieser Kategorie in die Standardkategorie verschiebt. Also habe ich sogar versucht, die Standardkategorie in eine Kategorie zu ändern, in der ich "eine andere" Kategorie zusammenführen und die "eine andere" Kategorie löschen möchte, aber anscheinend wird die Aufgabe schließlich immer noch "getötet" oder "Zeitüberschreitung". .

Was normalerweise passiert, wenn ich versuche, Kategorien aus dem WordPress-Dashboard zusammenzuführen, indem ich ein Plugin verwende oder eine Kategorie lösche, ist, dass das "Zusammenführen" nur teilweise abgeschlossen ist. Zum Beispiel werden vielleicht 30 oder 400 Beiträge aus einer Kategorie zusammengeführt, aber dann wird die Aufgabe "abgebrochen" oder "Timeout", was manchmal einen Fehler im WordPress-Dashboard erzeugt, manchmal die Website "abstürzt" und manchmal erledigt beide.

Wenn nicht alle Beiträge zusammengeführt werden, kann ich die Aufgabe über das WordPress-Dashboard inkrementell wiederholen. Dies kann jedoch mehrere Male wiederholt werden, um eine Kategorie von 15.000 Beiträgen zu erhalten, die in eine andere Kategorie zusammengeführt werden. Wenn die Website bei einer bestimmten "Wiederholung" "abstürzt", muss ich außerdem warten, bis sich die Website von dem Absturz "erholt".

Angesichts der oben genannten Probleme, auf die ich beim Zusammenführen von Kategorien aus dem WordPress-Dashboard gestoßen bin, war ich der Meinung, dass es viel effizienter und einfacher wäre, einfach phpMyAdmin zum Zusammenführen von Kategorien usw. zu verwenden.

Es scheint jedoch, als ob die WordPress-Datenbankstruktur viel komplexer geworden ist. Ich dachte, ich könnte phpMyAdmin verwenden, um so etwas vor 5 Jahren mit viel größerer Leichtigkeit und Einfachheit zu tun.

In diesem speziellen Fall bestätige ich mehrmals die "Taxonomie-IDs" usw., bevor ich die eigentliche Abfrage versuche. um unnötige fehler zu vermeiden. In einigen meiner Forumsbeiträge werden jedoch möglicherweise falsche Taxonomie-IDs angezeigt, da in diesem speziellen Fall die Art und Weise, in der ich eine Textdatei kopiert/eingefügt habe, in der alle meine fehlgeschlagenen Versuche aufgelistet sind. Wenn ich jedoch tatsächlich eine Abfrage versuche, überprüfe ich solche Dinge wie "IDs für Begriffstaxonomien" mehrmals, bevor ich mit der Abfrage fortfahre.

2
q305noonce

Sie können nicht einfach "Kategorien zusammenführen", sondern müssen die Kategorie ändern, der jeder Beitrag zugeordnet ist. Die Tabelle WP_TERM_RELATIONSHIPS verknüpft Beiträge mit Kategorien. Sie könnten so etwas versuchen:

UPDATE wp_term_relationships 
SET term_taxonomy_id = 
   (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 112748)
WHERE term_taxonomy_id =
   (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 112747)

Sie könnten auch dieses Plugin ausprobieren: http://wordpress.org/plugins/batchmove/

1
unifiedac