web-development-kb-asia.site

Jumlah Tautan Eksternal dalam Komentar - Opsi Moderasi

Saya hanya mengalami masalah untuk menggunakan penghitungan eksternal (artinya tidak ada tautan relatif atau absolut ke blog saya) dengan benar di blog saya untuk opsi penghitungan Komentar Moderasi .

Itu berlabel Tahan komentar dalam antrian jika berisi [nomor Anda di sini] atau lebih banyak tautan. (Karakteristik umum spam komentar adalah sejumlah besar hyperlink.) pada Pengaturan -> Diskusi di Wordpress Back-end. Tangkapan layar:

alt text

Saya sadar bahwa saat ini ia menghitung semua tautan. tautan ke blog dan komentar lain (laporkan di sini: # 14681 ) tetapi saya tidak dapat membayangkan bahwa tidak ada plugin atau peretasan yang benar menghitung jumlah hanya tautan eksternal.

Jadi pertanyaan saya adalah: Apakah ada plugin/peretasan yang membuat Wordpress benar menghitung hanya tautan eksternal dalam komentar untuk Opsi Moderasi itu?

3
hakre

Haha, aku benar-benar menemukan cara untuk melakukan ini. Sebagai plugin, ini harus bekerja.

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

Saya harus menambahkan bahwa saya belum pernah menguji hal ini. Tetapi secara teori itu seharusnya berhasil.

1
John P Bloch

Saya sekarang menulis plugin lengkap untuk ini yang menawarkan antarmuka penghitungan tautan dasar untuk menambahkan komentar dengan wordpress 3.0. Selain apa yang diusulkan John, saya membuat beberapa perubahan/penambahan berdasarkan penelusuran kait yang dipicu dengan menambahkan komentar karena saya ingin mendapatkan ini hanya dieksekusi ketika komentar baru benar-benar ditambahkan.

Karena itu saya memang memilih comment_text daripada kait pre_comment_content. Sisanya pada dasarnya sama tetapi beberapa pemeriksaan kewarasan ditambahkan sehingga hanya bisa dieksekusi sekali dan menambahkan komentar baru saja. Pemeriksaan tambahan (tetapi saat ini tidak diterapkan) adalah untuk mengaktifkannya hanya setelah opsi comment_max_links telah dibaca oleh get_option() (pre_option_comment_max_links- hook), tetapi untuk saat ini tidak lulus pengujian, saya belum melakukannya sejauh ini.

Kode sumber dapat dilihat online di trac .

Saya akan memberikan jawaban kepada John bahkan saya tidak memilih sarannya karena dia memposting prinsip yang sama di sini dulu.

1
hakre