Beliebigen Text in WordPress ersetzen
Mit PHP str_replace können beliebige Zeichenketten innerhalb con WordPress – z.B. im Inhaltsbereich – gesucht und ersetzt werden.
In größeren Websites oder Blogs kann es durchaus sinnvoll sein bestimmte Wörter automatisch mit anderen Zeichenketten zu ersetzen. Besonders beliebt sind hier z.B. Affiliate-Links über die der Website-Betreiber Geld verdienen kann. Aber auch interne Verlinkungen oder erweiterte Erklärungen zu einem Wort – beispielsweise bei Abkürzungen mit dem <abbr>
-Attribut – bieten sich an.
Um gezielt Wörter zu filtern und anschließend zu ersetzen könnt Ihr entweder ein Plugin verwenden oder Ihr fügt ganz einfach das nachfolgende Snippet in die functions.php
ein.
Snippet in die functions.php einfügen
Folgendes PHP-Snippet muss in die functions.php
Eures WordPress-Themes eingefügt werden. Achtet darauf, dass immer nur ein Wort ersetzt werden kann und dass Groß- und Kleinschreibung beachtet werden müssen.
// Wort ersetzen
function text_ersetzen($wort){
$ersetzen = array(
// Zu ersetzendes Wort => Neuer Text
'Lorem' => '<abbr title="#">Lorem</abbr>',
'ipsum' => '<a href="#">ipsum</a>',
'dolor' => '<a href="#">dolor</a>'
);
$wort = str_replace(array_keys($ersetzen), $ersetzen, $wort);
return $wort;
}
// WP-Filter für den Inhalt und den Exerpt (Inhalts-Auszug)
add_filter('the_content', 'text_ersetzen');
add_filter('the_excerpt', 'text_ersetzen');
Das funktioniert nicht wie ich das möchte.
Will aus dem footer einen bestimmten Widgettitel entfernen.
Muss man das Script dafür abändern?
Servus. Ich habe es ausprobiert, funktioniert innerhalb eines Beitrages einwandfrei. Spontan fällt mir dazu ein, dieses Snippet für ein einfaches Glossar zu verwenden. Eine Glossarseite mit Begriffen und Erklärungen erstellen und die Begriffe mit einem Anker versehen, damit über die URL direkt zum Begriff gesprungen werden kann. Im Snippet dann einfach den passenden Link um den Begriff drum rum bauen. Kann man machen, wenn die Anzahl der Begriffe überschaubar bleibt. Mann muss den neuen Begriff in der Seite und im Snippet nachtragen.
Eigentlich wollte ich aber einen englischen Hinweis auf deutsch ersetzen, welcher unter der Kommentareingabe wahrscheinlich von Akismet kommt. Das funktioniert jedoch nicht, da der Filter nur für den Content angewendet wird.
interessant, danke. Mit welchen Plugins (am besten kostenlos ;-) lassen sich die Wörter denn ersetzen? Und Zahlen kann man genauso ersetzen, oder?
LG,
Jenny
tolle erklärung, vor allem das ganze als eigenes plugin zu gestalten!!
Gibts folgende möglichkeit?:
Beispieltext Ersatztext 1, ersatztext 2, ersatztext 3, ersatztext 4
Also das ausgangswort ersetzen zu lassen gegen eine liste von worten, bei denen jeweils zufällig eines gewählt wird?
so dass quasi bei jedem seitenaufruf ein anderes ersatzwort eingefügt wird?
Ich suche eher ein Plugin, in dem ich in einem einzelnen Artikeln Wörter ersetzen kann. So will ich in nur einem Artikel zum Beispiel aus „Berlin“ überall „Hamburg“ machen. Gibt es sowas auch?
Die besten Tipps!!! – hat alles gut funktioniert!
weiter so…
LG,
Sergey
Danke für die tollen Tipps – hat alles super funktioniert! Macht weiter so…
LG,
Jenny
Hab das Code Snippet ausprobiert, hat bei mir allerdings nicht funktioniert. Das zu ändernde Wort wird trotz Snippet nach wie vor angezeigt :-(
Vielen lieben Dank ! Das war die bessere Lösung. Es hat SUUUPER Funktioniert ! Toller Blog hier !!! durch dieses Plugin habe ich WOCHENLANGE Arbeit gespart.
Dankeschön !
HUHUH Kann ich dieses Plugin auch dazu verwenden um auf meinen üner 600 Beiträgen in meiner Webseite die Preisangaben zum Beispiel auf einen Schlag auf jedem einzelnen beitrag zu ängern ??
Beispiel.: in vielen Beiträgen in meinem Blog steht drin 40 Euro pro Stunde,.. kann auch aus 40 Euro pro Stunde mit dem Plugin somit die Preisangabe für alle Seiten auf 50 Euro pro Stunde umwandeln ?? Für immer ??
Hallo Karl, es sollte zwar funktionieren, aber da gibt es bessere Lösungen. Versuche direkt per »Suchen und Ersetzen« die Werte in der Datenbank zu ändern. Schau mal dieses Plugin dazu an.
Tauuusend Dank, der Herr Banause! ;o)
Nach einer gefühlten Ewigkeit der Suche und kurz vor der Resignation bin ich über dein Snippet gestolpert!
… und muss mich nun nicht mehr auf fixe Zeilenangaben, wie die Sprachdateien von WP es erfordern, verlassen, sondern kann flexibel alle ollen „Read more“s der Welt, naja, des betreffenden Themes zumindest, austauschen.
Bei updatefähigen Themes würde ich es dann aber eher als Plugin anlegen statt in der functions.php des jeweiligen Themes ;o)
Waaa, welch Traum, wenns da jetzt noch ’ne Backend-Verwaltung für gäbe, in der man editieren könnte – nur für Faule selbstverständlich, zu denen ich nicht gehöre. ;o)