Количество внешних ссылок в комментариях - параметр модерации

wordpress.stackexchange https://wordpress.stackexchange.com/questions/809

  •  16-10-2019
  •  | 
  •  

Вопрос

Я только что запустил проблему, чтобы правильно использовать количество внешних (что не относится к относительным или абсолютным ссылкам на мой собственный блог) в моем блоге для Комментарий модерация Вариант подсчета.

Это помечено Держите комментарий в очереди, если он содержит [ваш номер здесь] или более ссылок. (Общая характеристика спама комментариев - большое количество гиперссылок.) На параметрах -> Обсуждение в задней части WordPress. Скриншот:

alt text

Я знаю, что в настоящее время это считается всеми ссылками inkl. Ссылки на блог и другие комментарии (сообщают здесь: #14681но я не могу представить, что уже нет плагина или взлома, который правильно исправляет счет только по внешним ссылкам.

Итак, мой вопрос: есть ли плагин / взломан, который делает WordPress правильно считать только внешние ссылки в комментариях для его параметров модерации?

Это было полезно?

Решение

Ха -ха, я действительно выяснил способ сделать это. Как плагин, это должно работать.

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-Сук), но на данный момент это прошло тестирование, я до сих пор не сделал этого.

А SourceCode можно просмотреть онлайн в Trac.

Я дам ответ Джону, даже я не выбрал его предложение, так как он сначала опубликовал такой же принцип.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top