我只是解决了一个问题,以正确地使用外部计数(这意味着没有相对或绝对链接到我自己的博客)上的链接 评论适中 计数选项。

它被标记了 如果在队列中包含[您的号码]或更多链接,请在队列中注释。 (评论垃圾邮件的共同特征是大量的超链接。) 在WordPress后端中的设置 - >讨论。截屏:

alt text

我知道当前它计算所有链接Inkl。链接到博客和其他评论(在这里报告: #14681)但是我无法想象已经没有插件或黑客可以将计数正确纠正到外部链接。

因此,我的问题是:是否有一个插件 /黑客使WordPress正确地计算其Mederation选项注释中的外部链接?

有帮助吗?

解决方案

哈哈,我实际上想出了一种方法。作为插件,这应该可以工作。

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();

我应该补充说,我没有以任何方式对此进行测试。但理论上应该起作用。

其他提示

我现在写了 完整的插件 为此,提供了基本链接计数接口,用于使用WordPress 3.0添加注释。除了约翰提出的内容外,我还基于追踪通过添加评论触发的钩子进行了一些更改 /添加程序,因为我想在实际添加新的评论时才能执行此评论。

因此,我选择了 comment_text 而不是 pre_comment_content 钩。其余的基本上是相同的,但是添加了一些理智检查,以便它只能执行一次,并且仅添加新评论。另一项(但目前尚未完成)的检查才是仅在 comment_max_links 选项已阅读 get_option()(这 pre_option_comment_max_links-hook),但是就目前而言,这确实通过了测试,我还没有做到这一点。

可以在TRAC中在线查看Sourcecode.

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

许可以下: CC-BY-SA归因
scroll top