Anzahl der externen Links in Kommentaren – Moderationsoption

Ich habe gerade ein Problem übersprungen, um die Anzahl der externen (dh keine relativen oder absoluten Links zu meinem eigenen Blog) Links in meinem Blog für die Kommentardimensionierung zu verwenden .

Es ist beschriftet Halten Sie einen Kommentar in der Warteschlange, wenn er [Ihre Nummer hier] oder mehr Links enthält. (Eine häufige Eigenschaft von Kommentar-Spam ist eine große Anzahl von Hyperlinks.) Unter Einstellungen -> Diskussion im WordPress-Backend. Bildschirmfoto:

Alt-Text

Mir ist bekannt, dass momentan alle Links inkl. Links zum Blog und andere Kommentare (hier gemeldet: # 14681 ), aber ich kann mir nicht vorstellen, dass es noch kein Plugin oder Hack gibt, das die Zählung nur auf externe Links korrekt korrigiert.

Meine Frage ist also: Gibt es ein Plugin / einen Hack, der WordPress dazu bringt, nur die externen Links in Kommentaren für seine Moderationsoptionen zu zählen?

Solutions Collecting From Web of "Anzahl der externen Links in Kommentaren – Moderationsoption"

Haha, ich habe tatsächlich einen Weg gefunden, dies zu tun. Als Plugin sollte das funktionieren.

class JPB_CommentCounter { var $count = 0; function __construct(){ add_filter( 'pre_comment_content', array( $this, 'content' ), 100 ); add_filter( 'comment_max_links_url', array( $this, 'counter' ) ); } function JPB_CommentCounter(){ $this->__construct(); } function counter( $num, $url ){ if($this->count < 1) return $num; elseif( $this->count > $num ) return 0; else return $num - $this->count; } function content( $content ){ $homeurl = preg_quote( home_url() ); if( preg_match_all( '@]*href=[\'|"](/|'.$homeurl.')@i', $content, $matches ) ) $this->count = count($matches[0]); return $content; } } $JPBCC = new JPB_CommentCounter(); 

Ich sollte hinzufügen, dass ich dies in keiner Weise getestet habe. Aber es sollte theoretisch funktionieren.

Ich habe jetzt ein komplettes Plugin dafür geschrieben, das die grundlegende Link-Zählschnittstelle zum Hinzufügen von Kommentaren mit WordPress 3.0 bietet. Zusätzlich zu dem, was John vorgeschlagen hat, habe ich einige Änderungen / Hinzufügungen vorgenommen, basierend auf der Verfolgung der Hooks, die durch Hinzufügen des Kommentars ausgetriggers wurden, da ich wollte, dass dies nur ausgeführt wird, wenn ein neuer Kommentar hinzugefügt wird.

Ich wählte also den comment_text anstelle des pre_comment_content . Der Rest ist im Grunde der gleiche, aber einige Plausibilitätsprüfungen wurden hinzugefügt, so dass sie nur einmal ausgeführt werden und nur einen neuen Kommentar hinzufügen. Eine zusätzliche (aber derzeit nicht implementierte) Überprüfung wäre, sie erst zu aktivieren, nachdem die comment_max_links Option von get_option() gelesen wurde (der pre_option_comment_max_links -hook), aber für den Moment, als dies den Test bestanden hat, habe ich es bisher noch nicht getan.

Der Quellcode kann online in trac eingesehen werden .

Ich werde John die Antwort geben, auch wenn ich seinen Vorschlag nicht gewählt habe, da er hier zuerst das gleiche Prinzip veröffentlicht hat.