mojwp.ru
Назад

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

Опубликовано: 08.02.2014
45
14013

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

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

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

и заменяем на

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

// удаляем линк на автора комментария
function mytheme_comment($comment, $args, $depth) {
    $GLOBALS['comment'] = $comment; ?>
    
  • id="li-comment-">
    %s says:'), get_comment_author()) ?>
    comment_approved == '0') : ?>
    $depth, 'max_depth' => $args['max_depth']))) ?>

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

    Screenshot_10

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

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

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

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

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

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

    Дополнение

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

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

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

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

  • Автор:
    Виталий
    Поделиться
    Похожие записи
    Черкани пару строк
    • WPixel
      Опубликовано: 09.02.2014 Ответить на сообщение

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

      • Виталий
        Опубликовано: 09.02.2014 Ответить на сообщение

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

        • Елена Юдина
          Опубликовано: 07.08.2014 Ответить на сообщение

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

        • Александр
          Опубликовано: 24.12.2014 Ответить на сообщение

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

          • Виталий
            Опубликовано: 24.12.2014 Ответить на сообщение

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

    • Андрей
      Опубликовано: 09.02.2014 Ответить на сообщение

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

    • Надежда
      Опубликовано: 28.02.2014 Ответить на сообщение

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

      • Надежда
        Опубликовано: 28.02.2014 Ответить на сообщение

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

        • Виталий
          Опубликовано: 28.02.2014 Ответить на сообщение

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

          • Надежда
            Опубликовано: 02.03.2014 Ответить на сообщение

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

            • WPixel
              Опубликовано: 02.03.2014 Ответить на сообщение

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

            • Виталий
              Опубликовано: 02.03.2014 Ответить на сообщение

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

            • Надежда
              Опубликовано: 02.03.2014 Ответить на сообщение

              Спасибо!

      • Виталий
        Опубликовано: 28.02.2014 Ответить на сообщение

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

        • Надежда
          Опубликовано: 02.03.2014 Ответить на сообщение

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

    • Сергей ГеркХард
      Опубликовано: 25.07.2014 Ответить на сообщение

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

    • Елена Юдина
      Опубликовано: 04.08.2014 Ответить на сообщение

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

      • Виталий
        Опубликовано: 05.08.2014 Ответить на сообщение

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

        .autorurl {float: left;}

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

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

        • Елена Юдина
          Опубликовано: 06.08.2014 Ответить на сообщение

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

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

          • Виталий
            Опубликовано: 06.08.2014 Ответить на сообщение

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

            • Елена Юдина
              Опубликовано: 06.08.2014 Ответить на сообщение

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

            • Виталий
              Опубликовано: 06.08.2014 Ответить на сообщение

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

            • Елена Юдина
              Опубликовано: 06.08.2014 Ответить на сообщение

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

            • Виталий
              Опубликовано: 06.08.2014 Ответить на сообщение

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

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

            • Елена Юдина
              Опубликовано: 07.08.2014 Ответить на сообщение

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

            • Виталий
              Опубликовано: 07.08.2014 Ответить на сообщение

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

    • Валентина
      Опубликовано: 08.08.2014 Ответить на сообщение

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

    • Андрей
      Опубликовано: 09.08.2014 Ответить на сообщение

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

      • Виталий
        Опубликовано: 10.08.2014 Ответить на сообщение

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

    • WpMen
      Опубликовано: 17.08.2014 Ответить на сообщение

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

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

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

      • Виталий
        Опубликовано: 17.08.2014 Ответить на сообщение

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

        • WpMen
          Опубликовано: 18.08.2014 Ответить на сообщение

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

          • Виталий
            Опубликовано: 18.08.2014 Ответить на сообщение

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

    • Степан
      Опубликовано: 10.10.2014 Ответить на сообщение

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

    • Александр
      Опубликовано: 24.12.2014 Ответить на сообщение

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

    • копирайтер
      Опубликовано: 10.04.2015 Ответить на сообщение

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

    • Наташа
      Опубликовано: 23.06.2015 Ответить на сообщение

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

      • Виталий
        Опубликовано: 23.06.2015 Ответить на сообщение

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

        Анкор
    • Даня
      Опубликовано: 31.07.2015 Ответить на сообщение

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

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

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

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

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

      • Виталий
        Опубликовано: 02.08.2015 Ответить на сообщение

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

        • Даня
          Опубликовано: 05.08.2015 Ответить на сообщение

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

    • Андрей Зимин
      Опубликовано: 27.09.2015 Ответить на сообщение

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

    • name
      Опубликовано: 20.10.2016 Ответить на сообщение

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

    • Светлана
      Опубликовано: 24.12.2016 Ответить на сообщение

      Спасибо, Виталий. У меня все получилось, хоть я и "полная блондинка" в этих кодах.

    • иван
      Опубликовано: 27.09.2017 Ответить на сообщение

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

    Имя
    Укажите своё имя и фамилию
    E-mail
    Без СПАМа, обещаем
    Текст сообщения
    Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.