Guten Morgen,
ich schreibe gerade ein Plugin das eine Funktion anbietet um von einem Plugin auf das neue Umzusteigen.
Dafür würde ich gerne ein Tag, das vermutlich in vielen Posts vorkommt, durch ein anderes Tag ersetzen, ohne das jeder Beitrag geöffnet und geändert werden muss.
Kann ich das per SQL in der Datenbank erledigten?
Wie müsste die SQL Syntax (ungefähr) ausschauen um das zu erreichen?
Gruß
Andreas
Text in Post mit anderem Text ersetzen
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Was für ein "Tag"? Ein Tag im WP-Sinn? Dann wirst du in der Tabelle wp_terms fündig. Dort einfach den alten Tag-Namen mit dem neuen ersetzen. Geht mit PHPMyAdmin recht bequem. Das liefert dir dann auch die SQL-Syntax für die Änderung.
Nachtrag: Die SQL-Syntax würde wie folgt lauten:
Beachte dass die Tabelle nicht immer den Namen "wp_terms" haben muss, verwende dazu die WPDB-API. -
es ist ein Tag von Plugin HideIt "<!--hideit-->" und soll in "[hideitplus]" geändert werden
-
Dafür gibts ein "Suchen & Ersetzen"-Plugin für die Beiträge in der Datenbank:
WP - Suchen und Ersetzen (de) (Plugin) | bueltge.de [by:ltge.de] -
Danke für den Hinweis. Ich werd mal schauen ob ich den Code der das Update macht finde.
-
Beachte aber: Wenn das Plugin nicht aktiv ist, dann hast du bei <!--mycommand--> keine Ausgabe (da HTML-Kommentar). [mycommand] wird aber angezeigt, da normaler Text!
-
so hab´s gefunden. Habs gleich bei mir eingebaut und funktioniert super.
Code$query = "UPDATE $wpdb->posts "; $query .= "SET post_content = "; $query .= "REPLACE(post_content, \"$search_text\", \"$replace_text\") "; $wpdb->get_results($query);
Das mit der Anzeige wenn das Plugin nicht aktiv ist, ist mir bewusst. Aber es geht ja nicht anders, oder?
Da kommt mir gerade noch eine Idee für das Plugin. Es könnte ja auf Wunsch auch die Tags ganz löschen, wenn sie nicht mehr gebraucht werden. -
Das mit der Anzeige wenn das Plugin nicht aktiv ist, ist mir bewusst. Aber es geht ja nicht anders, oder?
Klar, in der HTML-Kommentar-Schreibweise. Dann wirds zwar gespeichert und an den Browser ausgeliefert, aber nicht auf der Seite ausgegeben.
ZitatDa kommt mir gerade noch eine Idee für das Plugin. Es könnte ja auf Wunsch auch die Tags ganz löschen, wenn sie nicht mehr gebraucht werden.
Könntest du auch machen. Funktioniert halt nur wenn das Plugin über das Backend deaktiviert wird (gibts dafür überhaupt nen Hook?). Wenn man das Plugin einfach vom Server löscht (z.B. weil man aus irgendeinem Grund nicht mehr ins Backend kommt), dann bleiben die "Leichen" in der Datenbank.Die HTML-Kommentarlösung ist IMHO die einfachste Lösung.
-
das mit dem HMTL Kommentar finde ich gut, der praktische Nutzen des <!--hideit--> war mir bisher dato nicht bewusst. Danke für den Hinweis
Zitat(gibts dafür überhaupt nen Hook?).
Keine Ahnung, bin ganz neu in der Materie. -
War auch mehr ne rhetorische Frage. Aber die Antwort lautet natürlich natürlich JA! ;-)
-
-
So genau hab ich mir das jetzt nicht angeguckt. Aber ganz so einfach wie bei der Aktivierung wird's sicher nicht sein... Andere Pluginautoren bieten manchmal auch ein spezielles "Clean-Up"-Plugin für ihre Plugins an, welches man ausführen kann, nachdem man das ursprüngliche Plugin deaktiviert hat und das dann die DB von Datenleichen befreit.
-
Maximilian Rupp
13. Mai 2026 um 02:00 Hat das Thema aus dem Forum Plugin-Vorstellung nach Plugins verschoben.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!