it-swarm-vi.tech

Số lượng liên kết ngoài trong nhận xét - Tùy chọn kiểm duyệt

Tôi vừa chạy qua một vấn đề để sử dụng đúng số lượng liên kết bên ngoài (nghĩa là không có liên kết tương đối hoặc tuyệt đối với blog của riêng tôi) trên blog của tôi cho Tùy chọn Nhận xét Kiểm duyệtđếm.

Nó được gắn nhãn Giữ bình luận trong hàng đợi nếu nó chứa [số của bạn ở đây] hoặc nhiều liên kết hơn. (Một đặc điểm chung của spam nhận xét là số lượng siêu liên kết lớn.)Trên Cài đặt -> Thảo luận trong Back-end Wordpress. Ảnh chụp màn hình:

alt text

Tôi biết rằng hiện tại nó đếm tất cả các liên kết inkl. liên kết đến blog và các nhận xét khác (đã báo cáo tại đây: # 14681 ) nhưng tôi không thể tưởng tượng rằng không có plugin hoặc hack đã có sẵn mà sửa đúng số lượng chỉ liên kết bên ngoài.

Vì vậy, câu hỏi của tôi là: Có plugin/hack nào giúp Wordpress chỉ đếm đúng các liên kết bên ngoài trong các nhận xét cho Tùy chọn Kiểm duyệt không?

3
hakre

Haha, tôi thực sự đã tìm ra một cách để làm điều này. Là một plugin, điều này sẽ làm việc.

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

Tôi nên thêm rằng tôi chưa từng thử nghiệm điều này. Nhưng về mặt lý thuyết nó nên hoạt động.

1
John P Bloch

Bây giờ tôi đã viết một plugin hoàn chỉnh cho cái này cung cấp giao diện đếm liên kết cơ bản để thêm nhận xét với wordpress 3.0. Ngoài những gì John đề xuất, tôi đã thực hiện một số thay đổi/bổ sung dựa trên việc truy tìm các móc được kích hoạt bằng cách thêm nhận xét vì tôi muốn thực hiện điều này chỉ khi thực hiện một nhận xét mới.

Do đó, tôi đã chọn comment_text thay vì hook pre_comment_content. Phần còn lại về cơ bản là giống nhau nhưng một số kiểm tra độ tỉnh táo đã được thêm vào để nó chỉ được thực hiện một lần và chỉ thêm một nhận xét mới. Một kiểm tra bổ sung (nhưng hiện tại chưa được thực hiện) sẽ chỉ cho phép kiểm tra sau khi tùy chọn comment_max_links đã được đọc bởi get_option() (pre_option_comment_max_links- hook), nhưng cho đến thời điểm này đã vượt qua thử nghiệm, cho đến nay tôi vẫn chưa thực hiện thử nghiệm.

Có thể xem trực tuyến mã nguồn trong trac .

Tôi sẽ đưa ra câu trả lời cho John ngay cả khi tôi không chọn đề xuất của anh ấy khi anh ấy đăng nguyên tắc tương tự ở đây trước.

1
hakre