Support » Allgemeine Fragen » Löschen von unterschiedlichen Codefragmenten in Beiträgen

  • Hi zusammen,

    ich habe folgendes Problem: Ich möchte in meinen Beiträgen einen externen Widget Code einbinden, der in jedem Beitrag (passend zum Thema) immer etwas anders ist.

    Jetzt suche ich nach einer schlauen Lösung, diese Codes in allen Beiträgen löschen zu können, wenn ich das Widget nicht mehr nutzen möchte. Dazu müsste ich aktuell in jeden Beitrag reingehen und das manuell löschen. Da wird der Aufwand natürlich riesig.

    Daher die Überlegung, ob das auch gesammelt mit einem SQL Befehl in der Datenbank geht? Aber ich kann da ja nicht einfach ein „Suchen und Ersetzen“ nutzen, da wie gesagt der Widgetcode immer etwas anders ist.

    Daher die Idee: ich könnte den Widget Code z.B. mit einem eindeutigen Identifier – wie z.B. einem Shortcode wie [widget-anfang] und [widget-ende] – am Anfang und Ende „umrahmen“. Hier mal als Beispiel:

    Beitrag 1:
    [Beginn-Widget]
    DIV CODE abc
    [Ende-Widget]

    Beitrag 2:
    [Beginn-Widget]
    DIV CODE bca
    [Ende-Widget]

    Beitrag 3:
    [Beginn-Widget]
    DIV CODE cab
    [Ende-Widget]

    Egal was bei DIV CODE jeweils steht, er soll mir in der Datenbank alles von [widget-anfang] bis [widget-ende] in allen Beiträgen löschen.

    Gibt es so einen SQL Befehl für WordPress?

    Ich hatte sowas probiert, aber das geht leider nicht: Update omp_posts set post_content = REPLACE(post_content, ‚\[GYG-ANFANG\].*\[GYG-ENDE\]‘,‘

    Blöd zu beschreiben, aber ich hoffe ihr wisst was ich meine? 🙂 Vieleicht denke ich auch zu kompliziert und es gibt eine ganz andere Lösung?

    Wäre für Eure Hilfe dankbar.

    Viele Grüße
    Michael

    • Dieses Thema wurde geändert vor 9 Monaten, 2 Wochen von michaelxxx.
Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Wieso verwendest du dazu nicht ein Custom Field (Benutzerdefiniertes Feld)?

    Vorteile:

    • Du hast beim Bearbeiten ein eigenes Feld für die Eingabe des „Widget-Codes“
    • Die Ausgabe erfolgt immer im gleichen Muster, z.B. am Ende des Beitrags
    • Die benutzerdefinierten Felder können auf einen Schlag gelöscht werden.

    Ich würde das mit Advanced Custom Fields umsetzen und dann ein kleines Code-Snippet schreiben, dass mit add_filter( 'the_content', 'my_widget_code' ); die Ausgabe des Widget-Code an den Beitrags-/Seiteninhalt anhängt.

    Hi,

    ja, daran hatte ich auch schon gedacht 🙂

    Aber bei der praktischen Umsetzung mit AFC bin ich auf das Problem der Positionierung im Beitrag gestoßen. Ein AFC Feld am Ende des Beitrags fix einzufügen ist kein Problem. Aber was, wenn es an einer anderen Stelle innerhalb des Contents kommen soll?

    Dafür könntest du einen Shortcode oder einen eigenen Block verwenden.

    https://wpstackable.com/blog/how-to-use-acf-fields-in-your-blocks/

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Löschen von unterschiedlichen Codefragmenten in Beiträgen“ ist für neue Antworten geschlossen.