Изменяем вид ссылок в комментариях (WordPress). » lamara-nsk.ru


lamara-nsk.ru
Это блог о сео, деньгах, заработке в сети, разработке своих проектов, программировании
и "жизни программиста", бизнесе, блогосфере, фрилансе и многом другом.


Контакты, Реклама в блоге




Изменяем вид ссылок в комментариях (WordPress).

Автор DimoninG, написано 13.06 2022
Рубрика на WordPress  

Сначала может показаться, что статья ни о чем. Но дело в том, что в комментариях ник автора выводится одной единственной функцией, которая сразу возвращает ссылку с анкором в качестве имени автора и ссылкой на его сайт. Поэтому требуется вмешательство бубна.

Недавно я сказал, что мой блог теперь dofollow. Но мои читатели разубедили меня в необходимости создания подобного блога и обретения гемороя на свою голову. Кстати, как только блог стал dofollow, количество комментариев возросло примерно аж в 10 раз и я вижу в этом некоторые корыстные цели :) Если честно, хотелось бы получать отзывы о своих статьях не за прямую ссылку, а за статьи. Поэтому я решил уже разобраться и определиться с этим вопросом окончательно и не вводить уже моих бедных читателей в заблуждение.

Итак, решение я увидел такое: т.к. мне было бы неприятно, если бы ссылки на сайты авторов комментариев не показывались бы вовсе, я решил отображать адреса сайтов комментаторов просто рядом с ником и нигде не ставить ссылку. Вообще никакую. Нет проблемы – не нужно ее решать.

Но, когда я залез в файл шаблона, содержащий комментарии (comments.php), то с удивлением обнаружил там строку get_comment_author_link(), которая и выводит ссылку. Сразу выводит ссылку.

Поэтому совет от webmoneylog (08.06 2022 в 8:52) в моей статье о том, как сделать dofollow блог никуда не годится.

Порывшись немного в документации по WP (куда я бы сослал вообще всех, т.к. там можно найти ответы на 99.9% вопросов о WP), я нашел пару функций, которые не сразу выводят ссылку в браузер и, таким образом, появляется возможность сохранить ее в переменную и выреать все теги.

Сразу оговорюсь: я не искали функцию, отдающую имя автора, мне было лень. Сделал проще – взял уже найденную функцию, отдающую ссылку с именем автора в анкоре и вырезал собственно тег <a> из нее.

Получается следующая картина.

Было:
<?php comment_author_link(); ?>

Стало:

<?php echo strip_tags(get_comment_author_link());

$url = strip_tags(get_comment_author_url_link());
if (!empty ($url)){
echo «(«.$url.»)»;
}

echo «пишет:»; ?>

Думаю, все всем и так понятно. Но поясню: сначала с помощью функции get_comment_author_link мы получаем ссылку на сайт комментатора в виде <a href=»site»>nick</a> и с помощью strip_tags вырезаем из нее тег <a></a>. То есть остается только имя автора без ссылки.

Потом мы с помощью функции get_comment_author_url_link получаем отдельно ссылку на сайт автора и опять же вырезаем из нее теги.

Там еще маленькая проверка – если сайт не указан, то ничего не выводить (если не проверять, то при не указанном сайте будут выводиться пустые скобки).

Таким образом я заменил ссылки в комментариях на ник и адрес сайта в скобках рядом. Думаю, никто не обидется. Захотят перейти на Ваш сайта – ссылка есть.

P.S. Для любителей рефакторинга и оптимизации: тут на два вызова stript_tags больше. Их могло бы и не быть, если бы я хорошо порылся в документации. Но я не считаю, что проигрышь в пару сотых секунды спасет отца русской демократии ;) Так что не начинайте нудить, пожалуйста ;)



Отзывов (6) на «Изменяем вид ссылок в комментариях (WordPress).»



    пишет:

    $return = "<a href=’$url’ rel=’external nofollow’>$author</a>";
    Даже самому простому :) программисту должно быть ясно, что такое изменение:
    $return = «$author, $url»;
    даст требуемый результат.
    А обозначенная вами «строка, которая и выводит ссылку», вызывает функцию get_comment_author_link (файл comment-template.php). Эту функцию я и предложил поправить.
    webmoneylog – а в тексте ссылки остаются :)


    пишет:

    Даже самому простому программисту :) должно быть понятно, что править сам движок – некрасивое занятие. Здесь можно обойтись правкой представления и не надо лезть в само ядро ;)


    пишет:

    Я только собираюсь всё это проделать, спасибо за инфу))) :!:


    пишет:

    Единственное ПЛОХО, что нельзя править собственные-же комментарии :sad:


    пишет:

    Да, плохо, что редактировать нельзя. Но писать такой модуль мне очень лень :)


    пишет:

    К движкам лучше писать доп. модули. Править код ядра – только в крайнем случае… Да и с обновлением будут проблемы…


Оставьте свой комментарий

Что здесь почитать?



1.   Разработки.
1.1 Плагин "Я не робот"
1.2 Плагин "Код Adsense прямо в пост"

2.   Заработай.
2.1 Блогун: 20$ в день
2.2 Уходим от налогов в Sape
2.3 Хватит думать, пора зарабатывать

3.   Акции и конкурсы.
3.1 Ссылка за "Рабочий стол"

Показать весь список.

-->







Блог на движке WordPress и тема для него создана DimoninG'ом в 2007 году.
Все материалы авторские, их копирование запрещено законом об авторском праве.

🙋 Чат с Аней | Политика конфиденциальности