Domanda

Ho appena eseguito più di un problema per utilizzare correttamente il conteggio di esterni (cioè senza collegamenti relativi o assoluti per il mio blog) link sul mio blog per il Commento Moderazione count opzione.

E 'etichettato Tenere un commento in coda se contiene [il tuo numero qui] o più link. (Una caratteristica comune di spam nei commenti è un gran numero di collegamenti ipertestuali.) su Impostazioni -> Discussione in Wordpress back-end. Screenshot:

alt text

Sono consapevole del fatto che attualmente conta tutti i collegamenti inkl. collegamenti con il blog e altri commenti (riportato qui: # 14681 ) ma posso 't immaginare che non c'è un plugin o hack già disponibile che corregge correttamente il conteggio per i collegamenti solo esterni.

Quindi la mia domanda è: C'è un plugin / hack che rende Wordpress contano correttamente solo i collegamenti esterni nei commenti per la sua moderazione Opzioni

?
È stato utile?

Soluzione

Haha, in realtà ho trovato un modo per fare questo. Come un plugin, questo dovrebbe funzionare.

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

Vorrei aggiungere che non ho in alcun modo testato questo. Ma dovrebbe teoricamente lavoro.

Altri suggerimenti

Ora ha scritto un completa plug per questo che offre il collegamento di base contando interfaccia per l'aggiunta di commenti con wordpress 3.0. In aggiunta a ciò che Giovanni ha proposto ho fatto alcune modifiche e / o addings basate sul rintracciamento ganci innescati aggiungendo il commento come ho voluto ottenere questo eseguito solo quando viene effettivamente aggiunto un nuovo commento.

Pertanto fatto scelto il comment_text invece del gancio pre_comment_content. Il resto è fondamentalmente la stessa, ma alcuni controlli di integrità sono stati aggiunti in modo da ottenere solo di eseguite una sola volta e su come aggiungere solo un nuovo commento. Un ulteriore controllo (ma attualmente non implementato) sarebbe quello di consentire solo dopo l'opzione comment_max_links è stato letto dal get_option() (il pre_option_comment_max_links-hook), ma per il momento questo fatto prova passaggio, non hanno fatto finora.

Il codice sorgente può essere consultato on-line in trac .

ti darò la risposta a Giovanni anche io non ho scelto il suo suggerimento, come ha postato lo stesso principio qui prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top