Support » Allgemeine Fragen » Benutzerdefinierte Felder: Wie entrümpeln?

  • Hallo!

    Wie im vorigen Post beschrieben, habe ich (nach Installation des Plugins „Simple Membership„) ein Problem mit den Benutzerdefinierten Feldern.

    Redakteurin: „wo sind meine Felder?
    Hatte da mal was gebastelt, wo die Autoren schnell die Quellangaben von Pressediensten usw. eintragen konnten.
    Echt, diese (ua. eigene) Einträge sind nicht mehr zugänglich.
    Denn die Liste der benutzerdefinierten Felder ist mit lauter Kram überfüllt, man kommt gar nicht bis zum Feld „Quelle“.

    Leider weiß ich nicht mal mehr, wie ich diese Felder damals zustande brachte und noch weniger woher die vielen (unerwünschten, teils unbekannten) Einträge kommen. Vmtl. von anderen Plugins. Die meisten scheinbar von Simple Membership, aber auch foogallery usw. dümpelt da herum.
    Möglicherweise hilft die Deinstallation dieser Plugins. Doch die wenigsten Plugins räumen hinterher auf, also ist das evtl. auch nicht der richtige Weg. (Außerdem brauchen wir die Plugins ja noch)

    Bleibt die Core-Frage: Wie kann man die Liste der benutzerdefinierten Felder entrümpeln?

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • Es kann sein, dass dein installiertes Plugin selber Custom Fields registriert und mit Inhalten füllt, die du vorher selber angelegt hast (Namens-Kollision). Wenn du ein Backup wiederhergestellt hast, sollten die Custom Fields aber wieder den vorherigen Stand haben.

    Custom Fields anzulegen ist nicht sonderlich kompliziert, aber die Einrichtung der Metaboxen ist etwas umständlicher, weshalb die meisten Nutzer auf Plugins wie Advanced Custom Fields zurückgreifen. Wenn du das selber genutzt hast, bekommst du im Plugin alle registrierten Felder angezeigt. Falls du selber etwas programmiert hast, aber irgendwie der Überblick verlorengegangen ist, ob das nun Bestandteil deines Child-Themes, eines eigenen Plugins oder eines Code-Snippets ist, kannst du z.B. mit dem Code-Snippet

    <?php
    add_action( 'wp_footer', 'zeig_meine_custom_fields' );
    function zeig_meine_custom_fields() {
    if( is_single() ) {
      echo '<pre>';
      print_r(get_post_custom($post_id));
      echo '</pre>';
    }
    }

    im Footer bei der Einzelansicht eines Beitrags anzeigen lassen. Eigene Felder mit einem vorangestelltem Unterstrich (z.B. _edit_last) sind „versteckte“ Custom Fields – in diesem Fall vom WordPress Core.

    Thread-Ersteller pezi

    (@pezi)

    Es kann sein, dass dein installiertes Plugin selber Custom Fields registriert

    ja, stimmt. Das stammt fast alles von Plugins, egal ob noch oben oder nicht.
    Und SWPM bringt sehr viele mit – wie dein Script zeigt …

    Backup wiederhergestellt hast, sollten die Custom Fields aber wieder den vorherigen Stand haben

    Ich habe nur das Backup der einen Datei (der functions.php) eingespielt. (Wie gesagt, ich sichere heikle Dateien vor jeder Änderung)

    Plugins wie Advanced Custom Fields

    Ich habe das damals sicher manuell gemacht. Wie genau? KA mehr …

    ZB. das Script zum Custom Feld „Quelle“ (Quellangabe der Pressedienste, Aussender, usw.) habe ich der functions.php, nur wie weiter weiß ich nicht mehr. Ist evtl. auch nicht so wichtig.

    Wichtiger wäre: wie kriege ich die paar wirklich gebrauchten Felder wieder nach oben in die Aufklapp-Liste im Editor? Damit die Autoren diese einfach finden.
    1 – umbenennen, damit sie oben eingeordnet werden
    2 – unnötige wegmachen, nur wie, wenn die „schuldigen“ Plugins noch gebraucht werden?

    Danke für das Snippet – ist schon steil, wie viel das zeigt!

    Wieso stellst du nicht die Datenbank wieder her?
    Die Custom Field-Einträge (nicht die Registrierung) sind doch da alle enthalten.

    Thread-Ersteller pezi

    (@pezi)

    Irgendwie verstehe ich das nicht so.

    Wenn ich irgendwelche Einträge aus der DB schmeisse (bzw. die DB vor Installation des Plugins wieder einspielen würde) kommen die ja sofort wieder, sobald ich das Member Plugin wieder installiere, aktiviere.

    PS: DB wiederherstellen ginge im Moment auch nicht, weil der Hoster ein Problem mit phpmyadmin hat. Komme leider nicht mal rein in die DB.

    Wenn ich irgendwelche Einträge aus der DB schmeisse … kommen die ja sofort wieder, sobald ich das Member Plugin wieder installiere, aktiviere.

    Stimmt. Ziel ist, dass du zuerst alles wieder so hinbekommst, wie es vor der Installation des Plugins war. Du könntest dir dann den Code des Plugins anschauen und speziell nach update_post_meta() suchen, um herauszufinden, welche Felder das Plugin mit Inhalten füllen würde, sobald es aktiviert wird.

    PS: DB wiederherstellen ginge im Moment auch nicht, weil der Hoster ein Problem mit phpmyadmin hat.

    Einmal mit Profis … 😀

    Du kannst als Zwischenlösung die Datei adminer-4.8.1-mysql-de.php herunterladen, in adminer.php umbenennen und in das Web-Stammverzeichnis deiner WordPress-Installation hochladen. Danach rufst du https://example.com/adminer.php (natürlich mit deiner Domain) auf, gibst du Zugangsdaten zur Datenbank ein, die in der wp-config.php eingetragen sind und – Schwups! – hast du Zugriff zur Datenbank.

    Wenn du ein Backup-Plugin wie z.B. UpdraftPlus WP Backup verwendest, kannst du das Datenbank-Backup auch ohne Zugriff auf die Datenbank wiederherstellen. Macht die Sache vielleicht einfacher.

    Thread-Ersteller pezi

    (@pezi)

    Ziel ist, dass du zuerst alles wieder so hinbekommst, wie es vor der Installation des Plugins war.

    Ne. Nicht wirklich.

    Ziel ist das die Site mit SWPM („Simple Membership“) funzt und das die Autoren ihre Felder wieder finden.
    Die Site selbst ist ja (seit Fehlerbehebung) wieder ok.
    SWPM ist nach wie vor installiert und wieder aktiviert. (Denn mit dem deaktivieren/deinstallieren verschwanden die Einträge der Liste eh auch nicht)

    den Code des Plugins anschauen … welche Felder das Plugin mit Inhalten füllen würde

    Gute Idee. Doch die Antwort ist schon so klar: Zu viele.

    Inzwischen funzt der DB Zugang wieder.

    Also: Ich will bloß nicht so viele Einträge in der Liste Benutzerdefinierten Felder. Leider fand ich bisher nichts, wie man diese auch mit Sicherheit loswird.
    Mit Sicherheit meinte ich: gelöscht sind die schnell aus der post_meta Tabelle. Nur, was wenn man (für was und von wem auch immer) benötigte löscht?

    PS:
    Diese BN-Felder Liste ist ja alphabetisch geordnet. Aber selbst wenn man eine bereits angelegte Feld-Funktion (Hab das mal nach der Anleitung eingebaut) komplett umbenennt (zB. aus den Vars u. Funktionsnamen „quelle“ wurde „aquelle“) hilft das nix. Dieser Eintrag bleibt unter dem Kram anderer Felder.

    PS 2:
    Habe vorhin „Advanced Custom Fields“ ausprobiert. Blicke nicht durch, wie das Ding tickt. Aber: Es hat sofort die Editor-Metabox „Individuelle Felder“ gekillt.

    So, Gute N8 für heute. Danke euch!

    Thread-Ersteller pezi

    (@pezi)

    Nun habe ich einiges bez. „Custom Fields“ gelernt.
    Leider fand auch Tante Google keine echte Lösung, eine vollgemüllte „Individuelle Felder“ Auswahlliste im Editor zu entrümpeln; eben um schnell an die echt gebrauchten Felder ran zu kommen.

    Man kann zwar die post_meta Tabelle überfallen und munter rauslöschen – nur wer weiß, was dann wo in welchen Bereich fehlt? Nicht alle dieser Felder sind im Typ Post, sondern querfeldein vergeben.

    Bei all den Superduper Optimierungsplugins habe ich immer Vorurteile. Dennoch ein paar getestet, doch auch die können mit benutzerdefinierten Feldern gar nicht umgehen. Dafür die Site abschießen (ja, eh Testsite)

    Viele Plugins, welche sich mit „Custom Fields“ beschäftigen können solche Felder nur anlegen, die bestehenden aber nicht handlen. Auch Platzhirsch ACF kann nur anlegen?

    Aber: Eines fand ich dann doch: „Edit Custom Fields“ kann genau das was ich suchte: Eben diese Felder listen und löschen. Es zeigt, wie viele „Post“(egal welcher Typ) welches Feld, dessen Wert verwenden. Und wer sich fürs löschen einzelner Felder entscheidet, dem werden vorher noch die Details, samt Link gezeigt. Passt!
    Leider ist das Ding uralt, läuft aber super.

    Eines nimmt es uns aber nicht ab: Das überlegen, was man löscht. Denn selbst mit den Details im Lösch-Dialog bleibt die Unsicherheit: Was darf man löschen?

    Fazit: Vielleicht findet sich noch ein „Custom Fields Plugin“ mit dem man das bestehende besser organisieren kann.
    Oder ein Tool, mit dem man all den Kram an (ev. unnützen Feld/Werten) drin lassen kann, das aber eine konfigurierbare?, sortierbare? Auswahlliste in den Editor stellt.

    Komisch ist nur, warum diese übervolle Liste keinen anderen außer mich (meinen Autoren) stört …

    Thread-Ersteller pezi

    (@pezi)

    Ich habs!
    Das Plugin https://de.wordpress.org/plugins/list-more-custom-field-names/ erweitert die Auswahlliste vom Standard (30) auf bis zu 200 Einträge. Und sie reagiert auch auf Tastendruck.
    Suche ich zB. den (zuvor nicht mehr anzeigbaren) CF-Eintrag „Quelle“ reicht Taste [ Q ] fertig!

    So gebe ich diesbezüglich mal Ruhe. Entrümpeln traue ich mich nicht, aber Hauptsache meine Autoren finden die paar Felder wieder, die sie dauernd brauchen.

    Super! 👍🏻

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • Das Thema „Benutzerdefinierte Felder: Wie entrümpeln?“ ist für neue Antworten geschlossen.