Как изменить PHP код в WordPress

BlogoWest
На сайте с 08.10.2010
Offline
52
1118

В WordPress в файле \wp-includes\comment-template.php есть код который добавляет в ссылки авторов комментариев атрибут rel='external nofollow'

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 = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
return apply_filters('get_comment_author_link', $return);
}

Как изменить этот код, чтобы допустим до 20.06.2011 атрибут rel='external nofollow' отсутствовал, а после 20.06.2011 начал добавляться во все ссылки комментаторов.

Или ещё вариант, чтобы во всех написанных до 20.06.2011 постах, в комментариях ссылки на комментаторов были открыты к индексации поисковыми системами, а в постах, написанных после 20.06.2011 в форме добавления комментариев не выводилось поле для ввода ссылки вообще.

Капитан Кирк
На сайте с 25.03.2010
Offline
21
#1

$a = mktime(0, 0, 0, 20, 06, 2011);
$b = mktime(date("d-M-Y"));
if ($b>$a) {
$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
}
else
{
$return = "<a href='$url' class='url'>$author</a>";
}

Как-то так

BlogoWest
На сайте с 08.10.2010
Offline
52
#2

Чёй-то не выходит каменный цветок...

Плагин dofollow деактивировал.

Вставил код, выставил с 18.06.2011 чтобы добавлялся nofollow, не действует почему-то. Все комменты и старые и новые dofollow остаются.

[Удален]
#3
BlogoWest:
Чёй-то не выходит каменный цветок...
Плагин dofollow деактивировал.
Вставил код, выставил с 18.06.2011 чтобы добавлялся nofollow, не действует почему-то. Все комменты и старые и новые dofollow остаются.

получается у тебя плагин не отключился? потому что либо не должно быть вообще никакого "follow" либо nofollow. кэширование ?

BlogoWest
На сайте с 08.10.2010
Offline
52
#4

Да нет, если старый код оставляю, то ссылки закрыты от индексации, а если вставляю тот код который написал Капитан Кирк, то ссылки открываются независимо от даты. т.е после 18 числа, то бишь в сегодняшних комментах они так и остаются открыты к индексации. Я вписал $a = mktime(0, 0, 0, 18, 06, 2011)

BlogoWest добавил 19.06.2011 в 16:00

Пробовал вставлять такой код:

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 {
$dateLast = new DateTime('2011-06-18');
$dateNow = new DateTime('now');
if ($dateLast < $dateNow)
$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
else
$return = "<a href='$url' class='url'>$author</a>";
}
return apply_filters('get_comment_author_link', $return);
}

Ссылки так и остаются закрыты от индексации не зависимо от даты.

BlogoWest добавил 19.06.2011 в 23:20

Потестил данный код.

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 {
$dateLast = new DateTime('2011-06-18');
$dateNow = new DateTime('now');
if ($dateLast < $dateNow)
$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
else
$return = "<a href='$url' class='url'>$author</a>";
}
return apply_filters('get_comment_author_link', $return);
}

У меня получилось что до 18.06.2011 ссылки авторов во всех комментариях открыты к индексации, а после 18.06.2011 все ссылки авторов комментов закрываются в nofollow.

Мне же нужно, чтобы в ссылках авторов комментариев, оставленных до 18.06.2011 не было атрибута rel='external nofollow', и они оставались открыты к индексации поисковиками, а в оставленных комментах после 18.06.2011 атрибут rel='external nofollow' добавлялся во все ссылки авторов комментариев.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий