Как удалить ссылку на авторе и дате комментария

link-komПредлагаю элегантное и простое решение, которое позволит удалить ссылку на авторе комментария и дате публикации этого комментария на CMS WordPress.

Для WordPress 2.7 и выше. Все работает и после очередного обновления движка, т.е. не нужно каждый раз повторять действия.

Приступим. Открываем файл comments.php и ищем там подобное:

<?php wp_list_comments(); ?>

и заменяем на

<?php wp_list_comments('callback=mytheme_comment'); ?>

Теперь открываем файл функций functions.php и размещаем в нем сразу в начале файла с новой строки после <?php следующее:

// удаляем линк на автора комментария
function mytheme_comment($comment, $args, $depth) {
    $GLOBALS['comment'] = $comment; ?>
    <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
    <div id="comment-<?php comment_ID(); ?>">
    <div class="comment-author vcard">
    <?php echo get_avatar($comment,$size='48',$default='http://mojwp.ru/wp-content/themes/mojwpthemes/images/gravatar-mojwp.gif' ); ?>
     <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author()) ?>
    </div>
    <?php if ($comment->comment_approved == '0') : ?>
    <em><?php _e('Your comment is awaiting moderation.') ?></em>
    <br />
    <?php endif; ?>
    <div class="autorurl"><? echo get_comment_author_url() ?></div>
    <div class="comment-meta commentmetadata"><?php printf(__('%1$s'), get_comment_date('d.m.Y')) ?></div>
    <?php comment_text() ?>
     <div class="reply">
    <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
    </div>
    </div>
    <?php
    }

По итогу у вас получится нечто подобное (имя, снизу url не активный, еще ниже дата комментария):

Screenshot_10

В коде есть возможность поменять размер выводимого граватара, путь до картинки по-умолчанию (сейчас путь до моей). Также без проблем можно оформить стили блока и текста. Тут уже ваша фантазия должна проявить себя.

Если хотите чтобы вообще не показывало даже прописью URL сайта комментария, то нужно удалить из кода выше вот эту строку:

<div class="autorurl"><? echo get_comment_author_url() ?></div>

Также можно проставить активную ссылку на URL домена (по желанию закрываем в rel="nofollow"):

<div class="autorurl"><a href="<? comment_author_url() ?>"><? echo get_comment_author_url() ?></a></div>

Если не хотите выводить дату комментария, то удаляем эту строку:

<div class="comment-meta commentmetadata"><?php printf(__('%1$s'), get_comment_date('d.m.Y')) ?></div>

В этой же строке можем менять формат подачи даты d.m.Y - сейчас через точку день.месяц.год. Корректируйте как хотите очередность и знаки между ними.

Все. Вопросы задавайте в комментариях.

Дополнение

Приведу один случай, когда мой код можно не использовать.

Если в файле comments.php идет такой вызов списка комментариев:

<?php wp_list_comments('callback=custom_comments'); ?>

Здесь уже вызывается индивидуальный стиль для списка. Т.е. где-то у вас в шаблоне будет лежать файл wp_list_comments.php или подобное название, где вы сможете по моему коду выше подкорректировать get_comment_author() (имя комментатора без ссылки) и get_comment_author_url() (вызов непосредственно названия домена).

Здесь callback=custom_comments как раз и вызывает индивидуальный стиль, т.е. это для вас и будет ориентиром, что нужно поискать отдельный файл.

Привет. Меня зовут Виталик и я автор этого блога, а так же Магазина WordPress https://wp-r.ru/.

Отблагодарить Z888279575784 R109400923968 или ЯД 41001651742138

Оказываю услуги по созданию и настройке сайтов на WordPress (верстка, натяжка).

Мои Контакты. Я в Twitter @mojWP. Смотри на Youtube. Читай RSS блога.

Опубликовано 43 комментария
  1. WPixel (7 комм.):
    http://wpixel.ru

    Смысл удалять, они вроде и так закрыты по умолчанию в нофолов, да и посетителям не удобно переходить на сайты коментаторов?

    • Виталий (1674 комм.):
      http://mojWP.ru/

      У меня давно спрашивали каким образом реализовано на блоге.
      А для переходов снизу блок "Про что пишут у себя активные читатели блога".

      • Елена Юдина (6 комм.):
        http://vyshivayu.ru/

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

      • Александр (6 комм.):
        http://demeneff.ru/

        Есть ли возможность сделать так чтобы ссылка выводимая под именем автора комментария была просто текстом, то есть не была активной?

        • Виталий (1674 комм.):
          http://mojWP.ru/

          _url уберите в функции

  2. Андрей (129 комм.):
    http://zarobitok.ru/

    Доброе время суток Виталий! отличный способ, я в свое время данное действие делал через правку самого WP wp-includes файл comment-template.php

  3. Надежда (7 комм.):
    http://myempeiria.ru/

    Ой спасибо! Нигде нет этой информации!
    А подскажите еще, плиз, как сделать так, чтобы эта неактивная ссылка на блог комментатора не писалась под его именем, а всплывала при наведении в отдельном окошечке?

    • Надежда (7 комм.):
      http://myempeiria.ru/

      И еще, как можно сделать неактивной, но рабочей, ссылку в кнопке "ответить"? Это же такая же операция?

      • Виталий (1674 комм.):
        http://mojWP.ru/

        Это разные операции. К тому же не совсем понимаю, как она будет одновременно неактивной и рабочей. Это нонсенс. Либо я не понял что вы подразумеваете под словом "неактивная".

        • Надежда (7 комм.):
          http://myempeiria.ru

          Я имела в виду преобразование ссылки в такую же, как на сайт комментатора - при наведении на нее в нижнем углу страницы ничего не появляется, т.е она "как бы не ссылка" - не активная, но кликнув на нее, переход осуществляется - т.е рабочая. Не знаю, как правильно объяснить 🙂

          • WPixel (7 комм.):

            ссылка не может быть неактивной 🙁

          • Виталий (1674 комм.):
            http://mojWP.ru/

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

          • Надежда (7 комм.):
            http://myempeiria.ru/

            Спасибо!

    • Виталий (1674 комм.):
      http://mojWP.ru/

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

      • Надежда (7 комм.):
        http://myempeiria.ru

        Спасибо, поищем CSS 🙂

  4. Сергей ГеркХард (3 комм.):
    http://gerkhard.com/

    Отличный метод, давно искал что-то подобное. Попробую реализовать.

  5. Елена Юдина (6 комм.):
    http://vyshivayu.ru/

    Виталий, добрый день! У меня сразу несколько вопросов:
    1. А не подскажите, как сделать, чтобы дата выводилась сразу после имени комментатора (в той же строке) и кроме самой даты еще указывалось время комментария (что-то типа: 04.08.2014 в 15.24).
    2. Как добавить количество комментариев, оставленных на сайте (как у Вас)
    Спасибо!

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Добрый.
      1. Задайте в css

      .autorurl {float: left;}

      Для времени модифицируем код на такой:

      <div class="comment-meta commentmetadata"><?php printf(__('%1$s'), get_comment_date('d.m.Y в g:i:s')) ?></div>

      2. В рубрике "Хаки" вы бы нашли данный код без проблем. Статья http://mojwp.ru/poleznyy-php.html

      • Елена Юдина (6 комм.):
        http://vyshivayu.ru/

        Еще раз доброго денечка!
        Как у Вас все легко, однако... 🙂
        1. Что значит "задайте в css"? Я не настолько сильно во всем этом (если не сказать почти "чайник"), чтобы могла по этим словам определить куда нужно поставить фразу autorurl {float: left;} Если не затруднит, ткните, пожалуйста, в какое место ее написать - а лучший вариант "замените эту фразу на эту" 🙂
        Время добавила, спасибо, получилось 🙂

        2. Если бы я знала, что этот вопрос тут можно найти, обязательно бы нашла. Спасибо, что подсказали.

        • Виталий (1674 комм.):
          http://mojWP.ru/

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

          • Елена Юдина (6 комм.):
            http://vyshivayu.ru/

            Обратиться за услугами проще всего, хочется и самой разобраться. 😉
            Если я Вас еще не сильно замучила, можно это самое место указать поподробней, а то я уже с этими экспериментами уже 2 раза сайт из резервной копии восстанавливала (вчера и сегодня) 🙂 От места по-видимому очень многое зависит. Только что поставила после двух последних перед <?php} Сайт слетел...

          • Виталий (1674 комм.):
            http://mojWP.ru/

            Если хотите разобраться самостоятельно, то для начала узнайте что такое файл стилей и тогда вы вставите необходимый параметр для класса .autorurl в нужное место. Ошибиться в файле стилей не возможно.
            Пробуйте.

          • Елена Юдина (6 комм.):
            http://vyshivayu.ru/

            Файл стилей style.css У меня в шаблоне используется style3.css
            Пробовала и в одном, и в другом файле вставлять строчку - и в конец файла, как Вы рекомендовали и в середину. Изменений никаких 🙂 Но и сайт не слетел 🙂 Как же найти это самое "нужное место"?! 🙂

          • Виталий (1674 комм.):
            http://mojWP.ru/

            Из-за файла стилей сайт слететь не может никак. Может просто поползти верстка.
            Нужное место - это любое, которое за пределами других правил css.
            Посмотрите как прописываются другие правила и вставьте аналогично.
            Больше отсюда я вам ничем помочь не могу.

            Если слетает сам сайт, значит что-то не правильно вставляете в файлах шаблона с расширением .php

          • Елена Юдина (6 комм.):
            http://vyshivayu.ru/

            Да, Виталий, Вы как всегда правы, сайт у меня действительно слетал именно когда я экспериментировала с functions.php, а не со стилями. 🙂 Кстати, а Вы уверены, что именно это правило .autorurl {float: left;} мне может помочь? Ведь я спрашивала, как поставить дату в одну строчку с именем комментатора (в Вашем коде дата вообще выводится после адреса. Наверняка, кроме этого свойства, нужно еще и в самом коде что-то поменять. 🙂
            Сорьки, если я Вас уже достала 🙂
            Подскажите, если я сама всё-таки этот вопрос не осилю, сколько будет стоить у Вас эта процедура 🙂 Еще раз СПАСИБО!

          • Виталий (1674 комм.):
            http://mojWP.ru/

            1. Я уверен.
            2. Я не обсуждаю финансовые вопросы в комментариях. Для этого есть множество других способов.

  6. Валентина (1 комм.):
    http://rfl.ru

    Хорошая идея. Хочу у себя на сайте тоже так сделать! Если не получиться - напишу вопросы вам 🙂

  7. Андрей (16 комм.):
    http://bez-buhla.ru

    А если я уже удалил из кода саму строчку, которая отвечает за вывод графы САЙТ перед написанием комментария. Как быть?

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Я так понял речь о поле ввода URL?
      Вернуть строчку, т.к. информации по URL должна браться откуда-то.

  8. WpMen (2 комм.):
    http://wpmen.ru/

    Здравствуйте, подскажите пожалуйста, у меня в Wp_list_comment уже есть информация:

    'ol', 'avatar_size' => 64 ) ); ?>

    Как мне быть? Пытался ваше дополнение рядом ставить, ничего не получается...

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Добрый.
      Зачем рядом? В статье написано, что подменяем оригинальный на новый. Просто у вас сразу в функции вывода списка комментариев прописаны аргументы уточняющие.

      • WpMen (2 комм.):
        http://wpmen.ru/

        В моем коде указан размер Аватара в выводе комментариев, но если я подменяю, он разве не станет маленьким? 🙂

        • Виталий (1674 комм.):
          http://mojWP.ru/

          Так в представленном мною коде тоже есть размер граватара. Выставите какой нужно.
          В любом случае нужно пробовать, а не спрашивать))
          CSS уже поправите, если поползет где.

  9. Степан (1 комм.):
    http://xn--m1abc7dd5b.in.ua/

    Супер. Работает. Спасибо!!

  10. Александр (6 комм.):
    http://demeneff.ru/

    Огромное спасибо! Давно искал, не знал как это осуществить на блоге. Раньше не приходилось сталкиваться с этим, теперь буду знать и применять. Благодарю!

  11. копирайтер (1 комм.):
    http://kopirajter.by/

    Спасибо огромное.
    Нигде не могла найти ответ на вопрос о дате в комментариях, везде либо не то, либо для php-программистов :). А у Вас так просто все описано.

  12. Наташа (1 комм.):
    http://zdorovayakrasotka.ru

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

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Добавить к тегу ссылки target="_blank"

      <a href="#" target="_blank" rel="nofollow">Анкор</a>
  13. Даня (4 комм.):

    Добрый день! А подскажите как сделать не активной ссылку типа

    текст ссылки?

    Чтобы вместо этого было так:

    текст ссылки http://site.ru/

    Реально такое сделать?

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Очень реально. Об этом указано в конце статьи.

      • Даня (4 комм.):

        Это где такое? Что то найти не могу?

  14. Андрей Зимин (3 комм.):
    http://info-kibersant.ru/kak-udalit-kompyuternyj-virus.html

    По поводу удаления ссылок с даты, хочу добавить, что не обязательно вставлять этот большой код, достаточно убрать строчку ( get_comment_link( $comment->comment_ID ), она находится в файле comment-template.php не знаю как у вас, у меня на 1724 строке. Только удалите код полностью между . весь я его написать не могу, в комментариях он не выводится.

  15. name (1 комм.):

    Спасибо. В аватарке прописан ваш путь, а как сделать что бы вернуть отображение вордпрессовских аватарок.(просто еще до сервиса граватара дело не дошло).Спасибо.

Не держи в себе. Выскажись.

Ваш e-mail не будет опубликован. Обязательные поля помечены *

© 2011-2016 | mojwp.ru | Копирование материала разрешено только с письменного согласия
WordPress: 13.19MB | MySQL:110 | 0,910sec
Премиальные плагины для CMS WordPress
Магазин WordPress WP-R.ru
Спасибо, не показывайте мне эту штуку больше!
Смотри мои обучающие видео на YouTube
Иван только что купил плагин ELT
https://wp-r.ru/plaginy/elt.html