[Помогите] Убрать ссылки из комментариев

Тема в разделе "Wordpress", создана пользователем starche, 25 сен 2010.

Статус темы:
Закрыта.
Модераторы: DzSoft, Sorcus
  1. starche

    starche

    Регистр.:
    5 янв 2009
    Сообщения:
    299
    Симпатии:
    45
    Версия WP: 2.8.4.
    В комментариях нужно убрать преобразование текстовых ссылок вида _http://site.ru/ в гипертекстовые :bc:. Задолбало когда спамеры постят текстовый урл, а он преобразуется в прямой линк :mad:
    ЗЫ: Убрать нужно не каким-то плагином, а подтереть нужный кусок кода в исходниках WP. Вот только не могу его найти, надеюсь на помощь.
     
  2. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    784
    Симпатии:
    560
    Решение проблемы без правки исходного кода Wordpress:
    http://wordpress.org/extend/plugins/remove-links-in-comments/

    Либо просто добавить вот такой небольшой код в function.php вашей темы:
    Код:
    remove_filter('comment_text', 'make_clickable', 9);
     
  3. starche

    starche

    Регистр.:
    5 янв 2009
    Сообщения:
    299
    Симпатии:
    45
    Не работает. Иные решения есть? Без костылей? Мне нужно всего лишь найти нужный кусок кода и выдрать его, зачем эти извращения, неужели никто не работает с WP вплотную?!
     
  4. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    784
    Симпатии:
    560
    Только что еще раз проверил на Wordpress 2.8.4, всё прекрасно работает.
    В комментариях ссылки вида _http://site.ru/ становятся неактивными.

    Но если вам так не терпится залезть в код движка...
    В папке wp-includes откройте файл formatting.php и найдите функцию _make_url_clickable_cb (1187 строка:(

    PHP:
    function _make_url_clickable_cb($matches) {
        
    $url $matches[2];
        
    $url esc_url($url);
        if ( empty(
    $url) )
            return 
    $matches[0];
        return 
    $matches[1] . "<a href=\"$url\" rel=\"nofollow\">$url</a>";
    }
    И удалите из нее <a href=\"$url\" rel=\"nofollow\">$url</a>:

    PHP:
    function _make_url_clickable_cb($matches) {
        
    $url $matches[2];
        
    $url esc_url($url);
        if ( empty(
    $url) )
            return 
    $matches[0];
        return 
    $matches[1] . "";
    }
    В результате такие ссылки вообще не будут появляться в комментариях.
     
    starche нравится это.
  5. starche

    starche

    Регистр.:
    5 янв 2009
    Сообщения:
    299
    Симпатии:
    45
    Понял в чем проблема, кэш включен, сорри :confused: Хоть в админке плагин hyper cache деактивирован, он продолжает кешировать... я худею...
     
Статус темы:
Закрыта.