web-dev-qa-db-de.com

Alle benutzerdefinierten Felder gleichzeitig löschen?

Ich habe ungefähr 50 benutzerdefinierte Felder, die ich gleichzeitig löschen muss. Das Durchlaufen und Löschen von Feldern dauert zu lange, da das Laden einer Seite ungefähr 4 Sekunden dauert und ich einfach keine Zeit dafür habe.

Ich muss sie löschen, weil ich zuvor ein Plugin namens Advanced Custom Fields (ACF) verwendet habe, aber es funktioniert anscheinend nicht gut mit qTranslate zusammen, daher ersetze ich ACF durch ein anderes Plugin namens Types, das so ziemlich das Gleiche tut etwas hässlicher. Das Problem ist, dass die Felder auch nach dem Löschen aller benutzerdefinierten Feldgruppen mit ACF noch vorhanden sind! Und ich muss sie entfernen, weil ich sonst mit Types keine neuen Felder mit demselben Namen erstellen kann.

Ich habe ein Plugin namens "Delete Custom Fields" gefunden, aber es hat nicht funktioniert.

Irgendwelche anderen Ideen, wie man alle auf einmal löscht ? Kann ich die Felder manuell aus der Datenbank löschen?

BEARBEITEN: Ich sollte auch erwähnen, dass Sie benutzerdefinierte Felder in Types verwalten können, aber anscheinend können Sie nur diejenigen verwalten, die sich "unter der Kontrolle von Types" befinden und die von Types erstellt wurden, so dass dies nicht funktioniert hat.

1
qwerty

Sie können die SQL-Methode verwenden. Gehen Sie in Ihr Datenbanktool wie phpMyAdmin oder Adminer (auch über das Plugin im WordPress-Backend möglich). Verwenden Sie den SQL-Bereich zum Erstellen benutzerdefinierter Abfragen.

Bevor Sie beginnen, erstellen Sie eine Sicherung der Datenbank sowie eine einzelne Sicherung für die Tabelle _postmeta.

Ändern Sie die Zeichenfolge wpbeta_2 in Ihr Präfix. Dies ist nur ein Beispiel.

Holen Sie sich alle Felder, die ein benutzerdefiniertes Feld haben:

SELECT *  FROM `wpbeta_2_postmeta` WHERE `meta_key` != ''

Jetzt haben Sie eine Liste aller Felder, überprüfen Sie diese.

Ein bestimmtes Feld löschen:

DELETE FROM `wpbeta_2_postmeta` WHERE `meta_key` = 'modules'

Alle Felder löschen:

DELETE FROM `wpbeta_2_postmeta` WHERE `meta_key` != ''
1
bueltge

Mit Types können Sie die Kontrolle über Ihre vorhandenen benutzerdefinierten Felder übernehmen. Sie müssen sie nicht löschen. Suchen Sie unter "Typen" -> "Benutzerdefiniertes Feldsteuerelement", wählen Sie die Felder aus und klicken Sie unter "Massenbearbeitung" auf "Zu Typsteuerelement hinzufügen".

2
Keith Rowland

Um alles zu entfernen, öffne phpmyadmin, gehe in die WordPress-Datenbank und schneide die Tabelle wp_postmeta ab

wenn Sie sie für eine bestimmte Beitrags-ID löschen möchten, suchen Sie in der entsprechenden Spalte nach dieser Beitrags-ID und löschen Sie alle gefundenen Beiträge

0
Mridul Aggarwal