Minimale Kommentarlänge in WordPress festlegen

Peer Wandigers Nischenseiten Guide

Jeder, der schon einmal einen WordPress-Blog betrieben hat, wird das Problem der Spam-Kommentare kennen. Neben dem Einsatz von entsprechenden Plugins, die Spam automatisch ausfiltern sollen, kann man schon bei der Entwicklung des Themes gegen das Problem steuern.

Durch den Einsatz eines kleinen Snippets innerhalb der functions.php-Datei des Themes, lässt sich die minimale Länge von Kommentaren festlegen. Sinn befreite Kommentare wie „toll“, „Genial!“, etc. gehören damit der Vergangenheit an.

Das Snippet arbeitet wieder mit einem Filter- genauer gesagt mit dem „preprocess_comment“-Filter, welcher auslöst, wenn ein Kommentar verfasst und abgeschickt wurde. Bevor der Kommentar nun verarbeitet und in der WordPress-Datenbank abgelegt wird, klinkt sich der preprocess_comment-Filter ein und ruft unsere minimale_kommentar_laenge-Funktion auf. Innerhalb der Funktion legen wir zuerst die minimale Anzahl an Zeichen fest, die ein Kommentar haben muss.

Danach prüfen wir, ob der übermittelte Kommentar ($commentdata[‚comment_content‘]) weniger Zeichen als die vorgegebene Länge hat. Wenn dies der Fall ist, brechen wir die Kommentar verarbeitet mittels wp_die  und einer Fehlermeldung ab. Anderenfalls verlassen wir die Funktion mittels return und lassen WordPress den Kommentar verarbeiten.

Der WordPress-Club

4 Kommentare

  1. Tja, ganz so einfach ist es leider doch nicht.
    Hab es in zwei Blogs ausprobiert, es hatte jedoch zur Folge, dass überhaupt kein Kommentar mehr angenommen wurde – immer mit der Meldung „Sieht so aus, als hättest du es schon einmal gesagt – doppelter Kommentar“.
    Jetzt bin ich am Forschen, woran das liegen kann und hab erstmal eine Warnung unter den Artikel gesetzt. Hast du vielleicht eine Idee?

  2. Habe es jetzt auch mit einem andren, gekauften Theme (YOKO) ausprobiert, auch da ist das normale Kommentieren mit dem Code in der Funcion nicht mehr möglich. Auch hier die Fehlermeldung, es sei ein „doppelter Kommentar“.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert