评论中的外部链接数-审核选项

时间:2010-08-24 作者:hakre

我刚刚遇到了一个问题,即如何正确使用我博客上的外部链接计数(即没有指向我自己博客的相对或绝对链接)作为评论审核计数选项。

如果它包含[此处的您的号码]或更多链接,则标记为在队列中保留注释。(评论垃圾邮件的一个常见特征是大量的超链接。)在Wordpress后端的设置->讨论。截图:

alt text

我知道,目前它计算所有链接inkl。博客链接和其他评论(此处报告:#14681) 但我无法想象,现在还没有一个插件或黑客可以正确地将计数更正为仅外部链接。

所以我的问题是:有没有一个插件/黑客可以让Wordpress在评论中正确地只计算外部链接,以作为其调节选项?

2 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

哈哈,我真的想出了一个办法。作为一个插件,这应该是可行的。

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( \'@<a [^>]*href=[\\\'|"](/|\'.$homeurl.\')@i\', $content, $matches ) )
      $this->count = count($matches[0]);
    return $content;
  }

}

$JPBCC = new JPB_CommentCounter();
我应该补充一点,我没有以任何方式对此进行测试。但它在理论上应该是可行的。

SO网友:hakre

我现在写了一个complete plugin 为此,它提供了基本的链接计数接口,用于使用wordpress 3.0添加注释。除了John所建议的之外,我还根据添加注释所触发的挂钩进行了一些更改/添加,因为我只想在实际添加新注释时执行。

因此我选择了comment_text 而不是pre_comment_content 钩其余的基本相同,但添加了一些健全性检查,以便只执行一次get,并且只在添加新注释时执行。另一个(但目前尚未实现)检查是仅在comment_max_links 选项已由读取get_option()(小标题)pre_option_comment_max_links-hook),但就目前而言,这确实通过了测试,到目前为止,我还没有完成。

这个sourcecode can be viewed online in trac.

我会给约翰答案,即使我没有选择他的建议,因为他先在这里发布了相同的原则。

结束

相关推荐