Links in Kommentaren sind ein gern genutztes Mittel von Spammern. Eine Möglichkeit die Attraktivität für Spammer zu mindern, wäre das komplette entfernen von Links in Kommentaren. Doch die Welt ist nicht nur schwarz und weiß und so posten auch ehrliche Leser ab und zu Links, die für andere Leser eindeutig einen Mehrwert haben. Statt Links also komplett zu entfernen, ist es sinnvoller, sie „unklickbar“ zu machen.

Beim „unklickbar“ machen, wird der <a>-Tag um den Link herum entfernt, sodass die gepostete URL am Ende als Plaintext im Kommentar auftaucht. Für Spammer ist solch eine Darstellung wesentlich unattraktiver, da sie aus SEO-Sicht keinen wirklichen Mehrwert bietet. Wer jedoch ernsthaft an dem Link interessiert ist, kann die URL immer noch von Hand kopieren und im Browser der Wahl öffnen.

<a>-Tags in WordPress-Kommentaren entfernen

Um Link-Tags automatisch in Kommentaren zu entfernen und die URL als Text darzustellen, reicht folgender Einzeiler.

Durch den Aufruf der remove_filter-Funktion wird die Funktion „make_clickable“ aus der Aufruf-Kette des comment_text entfernt. Ursprünglich würde der Kommentar (comment_text) durch die Funktion make_clickable geschickt, welche URLs automatisch klickbar macht. Durch den remove_filter-Aufruf, wird dies unterbunden.

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.

Um das Artikel- bzw. Beitragsbild in WordPress automatisch zu setzen, können wir uns folgende kleine Funktion zu nutze machen. Der geeignete Ort, um diesen Code in ein WordPress-Theme einzubauen, ist wie bei fast alle hier im Blog vorgestellten Snippets, die functions.php-Datei.

Da Copy&Paste-Programmieren nicht meine Art ist, noch ein paar Worte zur Funktionsweise. Die letzten 6 Zeilen des Snippets sind der Einstiegspunkt. Über „add_action“ wird jeweils ein Zeitpunkt definiert, an dem etwas (die beitragsbild_setzen-Funktion) aufgerufen werden soll.

Die Zeitpunkte sind so gewählt, dass die Funktion immer dann aufgerufen wird, wenn entweder der Beitrag geladen, gespeichert oder veröffentlicht wird. Die eigentliche „Arbeit“ geschieht dann in der beitragsbild_setzen-Funktion.

Zuerst wird mittels der has_post_thumbnail-Funktion geprüft, ob der jeweilige Artikel bereits ein Beitragsbild hat. Nur wenn er keins hat (das ! bedeutet „unwahr“), wird daraufhin nach einem passenden Beitragsbild gesucht. Hierzu wird mittels get_children versucht alle Bilder des Artikels zu laden. Wenn Bilder im Artikel sind, wird daraufhin das Artikelbild mittels der set_post_thumbnail-Methode gesetzt.

Das excerpt (dt. Auszug), bezeichnet in WordPress die Zusammenfassung bzw. gekürzte Version eines Artikels. Verwendung findet die excerpt-Funktionalität in Themes vor allem in „Read more“- oder „Weiterlesen“-Abschnitten wie zum Beispiel auf der Startseite, im Archiv oder in den Suchergebnissen.

excerpt – Länge festlegen

Um die Länge des ausgegebenen Texts festzulegen, reicht es den excerpt_length-Filter zu nutzen. Dieser kann wie folgt geschrieben/aufgerufen werden.

In oben geschriebener Variante würde der Textauszug nun immer auf maximal 30 Zeichen begrenzt werden. Eine geeignete Stelle zum Einbau des Filters ist zum Beispiel die functions.php-Datei des jeweiligen Themes.

Autorbox in WordPress Sidebar ohne PluginHeute soll es darum gehen, wie man eine Autorbox inklusive Foto in der Sidebar anlegt. Ohne Plugin. Denn, auch wenn es für fast alles ein Plugin gibt, muss man nicht für jede Kleinigkeit ein Plugin verwenden. Jedes Plugin erhöht die Serverlast und somit die Ladezeit. Für simple Dinge, wie ein Autorenprofil in der Sidebar eines Blogs, benötigt man in den meisten Fällen eben kein Plugin. Und so geht’s…

Eine typischen Autorenbox beinhaltet ein Foto des Autors sowie einen kurzen Anreißer. Für beides reicht folgender HTML-Code, der aus nicht mehr oder weniger als gerade mal einem DIV-Container und einem IMG-Tag besteht.

Autorbox Text-Widget CodeIm Endeffekt muss in obigem HTML-Code nur noch die Bild-Url und der Beschreibungstext ausgetauscht werden. Nach Anpassung des Code wechselt man im WordPress-Backend in den „Design“-Abschnitt und dort auf die „Widgets“-Einstellungsseite.

Im Widgets-Bereich ziehen wir ein neues „Text“-Widget in die Sidebar, geben dem Widget je nach Belieben noch einen Titel wie „About“ oder „Über den Autor“ und fügen dann das obige HTML-Snippet ein.

Fertig ist die Autoren-Info. Dafür braucht man doch nun wirklich kein WordPress-Plugin, oder? Wenn ihr also das nächste mal nach solch einem Plugin gefragt werdet, verweist den Suchenden einfach auf diesen Artikel. Ein bisschen Auseinandersetzung mit HTML und CSS kann nie schaden.