Удаление ссылок из комментов (в подписи автора)

5 Май
2010

У меня есть еще несколько блогов, тематика коих достаточно туманна, наполняются они благодаря лиексу, принося мне какие то доходы, и пару блогов с интересным контентом, написанным мной самим, правда на пару месяцев в перед :) . Вот как раз вчера всплыла проблема ссылок в комментариях. Спамеры атакуют, оставляя тонны своих комментов, типа “Как тут все круто, пишите еще”, естественно я понимаю что это спам, но! как не крути это все ж таки комментарий, и поисковики их любят, следовательно нужно их одобрять, убирая с них ссылки.  Я использую плагины которые делают из внешних ссылок внутренние, т.е. такие спам комменты не принесут ничего в плане оптимизации и поднятия пузомерок сайта, людям делавшим их, но если зайдет человек и начнет читать, тыкнет на ссылку и попадет на очередной трахо-вставо-соса-что то еще говносайт, будет не красиво.

Плагина срезающего ссылки в тексте комента я нашел, а вот что бы удалялась ссылка из имени автора, я так и не нашел, хотя как и всегда, может плохо искал. Пришлось думать самому. К сожалению выход есть только один — удалять все ссылки из всех комментариев, при этом правда страдают нормальные комментаторы, но для моих лиексовских блогов это не актуально.

Поверстное препарирование показало что кусок кода нужный мне находится в файле  wp-includes/comment-template.php, ищем вот такой кусок кода:

function get_comment_author_link() {
/** @todo Only call these functions when they are needed. Include in if… else blocks */
$url    = get_comment_author_url();
$author = get_comment_author();

if ( empty( $url ) || ‘http://’ == $url )
$return = $author;
else
$return = “$author”;
return apply_filters(‘get_comment_author_link’, $return);
}

Как видно из кода, если у автора коммента указан сайт то выполняется $return = “$author”;
Если же ссылка не указанна, то выполняется $return = $author; Что нам собственно и нужно. Осталось заставить эту функцию всегда вести себя так, будто ссылка не указанна, проще всего на мой взгляд так это добавить у условию небольшую добавку в виде — (true), что бы всегда возвращалась истина. После вставки получаем код:

function get_comment_author_link() {
/** @todo Only call these functions when they are needed. Include in if… else blocks */
$url    = get_comment_author_url();
$author = get_comment_author();

if (( empty( $url ) || ‘http://’ == $url ) || (true))
$return = $author;
else
$return = “$author”;
return apply_filters(‘get_comment_author_link’, $return);
}

Жирным выделен кусок который вставляется, внимательно посмотрите на начало условного оператора, добавляется открытая скобка — (.

Вот и все изменение кода, результат меня вполне удовлетворяет, т.к. ссылки не выводятся, комментарии добавляются, странички изменяются, поисковики от этого балдеют, а я увеличиваю свои доходы на бирже за счет того что сайт прочно находится в индексе.

слов — 406, знаков: с пробелами — 3000, без пробелов — 2595
google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Читайте так же:

Комментировать

Вы должны войти чтобы комментировать.


Наверх