Wörter in Kommentaren automatisch ersetzen
Es gibt unterschiedliche Gründe weshalb es sinnvoll sein kann bestimmte Wörter innerhalb der Kommentare zu ersetzen. Vielleicht möchtet Ihr den Umgangston auf eurer Website verbessern und filtert auf diese Weise Flüche und Schimpfwörter heraus. Eventuell möchtet Ihr auch über Affiliate-Links Geld verdienen und verlinkt bestimmte Keywords mit bezahlten Partnerseiten. Oder Ihr fangt häufige Tipp- oder Rechtschreibfehler ab, um die Qualität und die Lesbarkeit der Kommentare zu verbessern. Aus welchem Grund auch immer Ihr den Filter aktivieren wollt – alles was Ihr tun müsst ist ein kleines PHP-Snippet in die functions.php
einsetzen. Anschließend müsst Ihr nur noch die gewünschten Wörter und deren Ersetzung eingeben.
Bestimmte Wörter in den Kommentaren von WordPress ersetzen
Kopiert folgenden Code in die functions.php
und passt in den Zeilen 4 und 5 die Ziel-Wörter und die entsprechende Ersetzung an. Ihr könnt natürlich auch weitere Zeilen hinzufügen.
add_filter( 'pre_comment_content', 'wps_filter_comment' );
function wps_filter_comment($comment) {
$replace = array(
'scheisse' => 's******',
'kulturbanause' => '<a href="https://blog.kulturbanause.de">kulturbanause</a>'
);
$comment = str_replace(array_keys($replace), $replace, $comment);
return $comment;
}
Je nachdem welche Wörter Ihr wie ersetzt, halte ich es für sinnvoll die Besucher über den eingebauten Filter zu informieren.
Icon von iconfinder.net. Code via wpsnipp
Ein ähnliches PlugIn habe ich aus Deinem Buch WordPress-Themes.
Das Ersetzen klappt selbst für HTML-Tags wunderbar.
Ich würde es nun gern mit einem Zähler ergänzen, der die Ersetzungen durchnummeriert.
Damit will ich dann ein script steuern. Bei mir hängen die Nummern aber auf 1. wo liegt der Fehler? (Mit echo ist die Ausgabe richtig)
function rechne($text,$j) {
$j = 0;
while ($j < 5) { $j; $j++;$text = "ebene" . $j; return $text; } } function h5aErsetzen($content) { $suchea = ''; $ersetzea = '';
$content = str_replace($suchea,$ersetzea,$content);
return $content;
}
add_filter("the_content","h5aErsetzen");
Bin gespannt
mo
Genial, genau sowas steht schon seid längerem auf meiner „zu erledigen“ Liste drauf.
Wobei sich mir nun noch die Frage stellt, was schonender für die Ressourcen ist. Also so wie hier beschrieben in die functions.php oder als Plugin? Gibt es Erfahrungen, wie es sich auf die Performance auswirkt wenn es mehrere Wörter sind die ersetzt werden?
Und was passiert, wenn die Änderungen aus welchen Gründen auch immer in der functions.php mal überschrieben werden sollen? Bleiben die Verlinkungen dann bestehen oder nicht?
[…] Source: Kulturbanause.de […]