it-swarm-ko.tech

주석의 외부 링크 수 - 검토 옵션

방금 댓글 검토 카운트 옵션에 대한 내 블로그의 외부 (셀수없는 블로그 링크를 의미하는) 링크를 제대로 사용하기 위해 문제를 조사했습니다.

그것은 라벨이 붙어 있습니다 [당신의 번호를 여기에] 이상의 링크가 포함되어 있으면 대기열에 코멘트를 보유하십시오. (스팸 덧글의 공통된 특징은 많은 수의 하이퍼 링크입니다.) - Wordpress Back-end의 토론 -> 토론. 스크린 샷 :

alt text

나는 현재 모든 링크를 계산한다는 것을 알고있다. 블로그 및 기타 의견 링크 (여기에보고 : # 14681 )하지만 이미 플러그인이나 해킹이 없다고 상상할 수는 없습니다 외부 링크로만 개수를 올바르게 수정합니다.

그래서 제 질문은 : 플러그인/해킹은 Wordpress가 적절하게 외부 링크 만 검토 옵션에 대한 코멘트에 포함되도록 만드는 것입니까?

3
hakre

하하, 나는 이것을 실제로 할 길을 찾았습니다. 플러그인으로이 작업이 가능합니다.

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

나는 이것을 어떤 방식 으로든 시험하지 않았다는 것을 덧붙여 야합니다. 그러나 이론적으로는 효과가 있어야합니다.

1
John P Bloch

나는 이제 완전한 플러그인 을 작성하여 wordpress 3.0으로 주석을 추가하기위한 기본 링크 계산 인터페이스를 제공합니다. John이 제안한 것에 덧붙여, 새로운 코멘트가 실제로 추가되었을 때만 실행되도록하고 싶기 때문에 코멘트를 추가하여 트리거 된 후크를 추적하는 것에 기반하여 몇 가지 변경/추가를했습니다.

그러므로 저는 comment_text 훅 대신에 pre_comment_content를 선택했습니다. 나머지는 기본적으로 동일하지만 일부 성의 체크가 추가되어 한 번만 실행되고 새 주석 만 추가됩니다. 추가로 (그러나 현재 구현되지 않은) 검사는 comment_max_links 옵션이 get_option() (pre_option_comment_max_links- hook)에 의해 읽힌 후에 만 ​​가능하지만, 테스트를 통과 한 순간까지는 지금까지하지 않았습니다.

소스 코드는 trac 에서 온라인으로 볼 수 있습니다.

John에게 해답을 주겠다. 나는 그가 같은 원리를 먼저 여기에 올린 것처럼 그의 제안을 선택하지 않았다.

1
hakre