Продолжаем уроки по созданию блога на WordPress. Сегодня я рассказываю, как удалить дату публикации комментария.
Как удалить дату публикации статей мы уже рассмотрели, и я обещала, что в одной из следующих статей я расскажу и про дату публикации комментария. Выполняю обещание.
Логично предположить, что за публикацию комментариев отвечает файл comments.php. Однако, просмотрев 3 блога на WordPress (2 своих и один клиентский), я обнаружила, что слова time (а также слов date или data, которые также могли быть причастны к выводу даты) в этом файле ни на одном блоге нет.
Больше файлов, связанных с комментариями, на блогах нет. Но раз дата у комментариев выводится, значит, где-то она должна быть запрограммирована.
Я углубилась в код. Не буду Вас нагружать сейчас своими «изысканиями», скажу их результат: комментарии выводятся функцией wp_list_comments, которая имеет несколько аргументов, среди которых нет даты публикации, а это значит, что вывод даты заложен в эту функцию изначально, то есть, «копать» надо в файлах дистрибутива WordPress.
Это не является хорошим тоном – править файлы WordPress, но что делать?
Есть, правда, другой путь (им воспользовались разработчики шаблона одного их моих блогов): написать пользовательскую функцию для вывода комментариев и всего, что с ними связано, а название этой функции поместить в качестве аргумента в функцию wp_list_comments, например, как здесь:
1 |
<?php wp_list_comments('type=all&callback=art_comment'); ?> |
Здесь art_comment – это название пользовательской функции, а саму функцию надо искать в файле functions.php.
Я нашла там эту функцию и нашла код, отвечающий за вывод даты:
1 |
<div><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></div> |
Этот код выводит комментарии в таком виде:
Можно удалить эту строку полностью, тогда обведенной красной рамкой текст будет отсутствовать, в том числе и возможность редактирования комментария прямо со страницы, где он напечатан.
Можно удалить, но вставить другой код, оставив возможность редактирования:
1 |
<div class="comment-meta commentmetadata"><?php edit_comment_link(__('(Edit)') ) ?></div> |
В результате получилось так:
Слово «Редактировать» – кликабельно и является ссылкой на страницу редактирования комментария.
У кого нет пользовательской функции, есть два варианта:
- нанять фрилансера, чтобы он Вам эту функкцию сделал
- править файл самого WordPress.
Рассмотрим второй вариант:
Идем на хостинг, либо соединяемся с ним с помощью файлового менеджера типа Filezilla. Открываем папку public_html, в ней папку wp-includes, находим там файл comment-template и скачиваем его на компьютер.
Записываем этот файл в качестве эталона в эталонную папку и копируем его еще в рабочую папку – редактировать будем этот файл. Открываем его в редакторе Notepad++ и находим в нем такой участок кода:
1 2 3 4 5 6 |
<div class="comment-meta commentmetadata"><a href="<?php echo esc_url( get_comment_link( $comment->comment_ID, $args ) ); ?>"> <?php /* translators: 1: date, 2: time */ printf( __( '%1$s at %2$s' ), get_comment_date(), get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), ' ', '' ); ?> </div> |
Как и в случае с функцией, можно удалить этот код полностью, тогда редактировать комментарий можно будет только из админ панели WordPress. Можно, удалив этот код, вставить вместо него приведенный выше (повторю его):
1 |
<div class="comment-meta commentmetadata"><?php edit_comment_link(__('(Edit)') ) ?></div> |
Сохраняем файл и загружаем его обратно.
Обновите свой сайт в браузере и посмотрите, что получилось.
Этот способ плох тем, что после обновления WordPress все изменения нужно проделать заново. Поэтому, чтобы про них не забыть, где-нибудь записывайте, что меняли.
Итак, сегодня мы узнали, как удалить дату публикации комментария на сайте WordPress.
А теперь немножко отдохните:
Комментарии
Доброго времени суток, Нина, очень интересная статья, действительно, дата в комментариях совершенно не нужна, и удалить её нужно обязательно, как раз собиралась поискать, где “собака зарыта”, это я в смысле кода. А вы уже за меня всю работу выполнили, бери готовенькое и вставляй. Спасибо вам большое. А вот для чего нужно удалять дату публикации статей? Я как раз только на днях исправляла неправильное отображение дат в статьях. И даже не задумалась, что можно совсем убрать выведение даты. Не подскажите из каких соображений нужно убирать дату в статье?
Ира, нам с Вами дату убирать ни в коем случае не надо. Статьи технического, обучающего характера должны быть с датой, чтобы читатель видел, насколько свежая в них информация.
Дату убирают на коммерческих сайтах, когда действуют какие-то акции. Бывают ситуации, если, например, Вы долго не занимались сайтом по каким-то причинам и не хотите, чтобы читатели увидели, что последние статьи у Вас, например, годичной давности.
Я бы и в комментариях не стала убирать.
Кстати, с кодами осторожнее, копировать надо аккуратно, чтобы не захватить лишние символы и не удалить их. Только сейчас меня “благодарили” за то, что пришлось восстанавливать сайт через хостинг. Уверена, что это результат именно ошибки в копировании кода.
Спасибо, Ниночка, за совет, послушаюсь Вас, и не стану удалять даты в комментариях, пусть себе “живут” :-)) Я благодарю Вас, за посещение моего блога, и за участие в конкурсе, прошу выслать мне номер кошелька, для получения приза. Буду рада видеть Вас у себя. Кстати, конкурс продолжается!
Ирина, номер кошелька выслала Вам на емейл.
Удалять совсем дату публикации ил комментария пока набодности не было. А вот для одного из своих сайтов возникла небходимость поменять времяисчисление в принципе: вместо 12 месяцев в году сделать 9, вместо 7 дневной недели – 9. То есть другая цикличность.
Скажите, пожалуйста, это вообще реально? И если, да, то где поискать информацию? Спасибо!
О! Такой вопрос у меня не возникал! А зачем, если не секрет?
Информацию я всегда ищу в Гугле. Там есть все! И если кто-то задавался Вашим вопросом и его разрешил, тогда точно найдете.
Не секрет, конечно же!

Сайт будет посвящён древнеславянской культуре, поэтому и появилась задумка сделать летоисчисление того времени. Таким вопросом, похоже, кроме меня ещё никто не озадачивался
Мне бы сам принцип понять, как в вордпрессе дата, время, год организуется, а остальное по аналогии смогу сама изменить.
Нина, спасибо за подробное разъяснение для чего и кому необходимо удалять дату в комментариях и статьях. Совсем недавно я встала встречать на некоторых блогах выход статей вообще без даты. Даже задала вопрос автору, но пока ответа не получила. Теперь мне все понятно. А ведь многие новички просто пытаются повторить на своем сайте то, что им то самим вовсе и не надо. Модное веяние на них действует?
Зоя, не знаю, модное ли веяние действует или просто встретили в сети описание, как удалить дату, и не задумываясь, удалили. А может, им это для чего-то нужно? Мне кажется, чаще всего удаляют дату те, кто пишет на сайте очень редко, хотя, возможно, я и ошибаюсь.
Нина, не подскажите как убрать ссылку из даты комментария. У вас на дате такой ссылки нет. В интернете, именно по удалению такой ссылки почему-то ничего не нашел.
Василий, у меня тоже дата комментария является ссылкой. Странно, почему Вы пишете, что у меня ее нет. Чтобы Вам подсказать, я должна видеть, как именно выводится эта дата. Но если ориентироваться на мою статью, то удалить нужно:
<a href=”<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>”>
и
</a>
Да я что-то не заметил.
Спасибо Нина. А где этот код искать? В каком файле он будет? В functions?
Василий, и опять я не могу Вам ответить точно. Если Вы читали мою статью (я в этом уже засомневалась), – я в ней писала, что в разных темах это сделано по-разному, соответственно, и файлы надо править разные.
Интересно, а чем Вам помешала эта ссылка? (хотя то, что она не нужна, это понятно)
Нина читал я вашу статью. В кодах не очень разбираюсь, поэтому спросил, где его можно будет найти.
На одном сайте мы разбирали другой сайт и кто-то заметил, что такие ссылки с дат нужно убрать. Я вообще думал, что так и должно быть. Когда проверил топовых блоггеров, оказалось у большинства ссылки с дат в комментариях убраны. Соответственно и другие по их примеру так сделали.
В интернете по прямому запросу ничего внятного об этом не нашел, только как убрать полностью даты. Хотел узнать доводы, почему эти ссылки необходимо убирать. Если какой-то вред или это очередной миф?
С другой стороны по таким ссылкам можно сразу попасть на конкретный комментарий.
Василий, эта ссылка, конечно, лишняя, потому что ведет на ту же страницу. И с точки зрения СЕО она вредная именно поэтому. Но при этом, почему-то, во всех шаблонах вордпресса дата является ссылкой.
Если честно, я никогда на это не обращала внимания и не обратила бы, наверно, если бы не Ваш вопрос.
По поводу того, где искать эту ссылку, я написала в статье. Может быть, у Вас особый случай и комментарии выводятся каким-то другим способом, не могу сказать, но такое тоже возможно.
Ссылочка с даты комментариев находится в файле comment-template.php не знаю как у вас, у меня на 1724 строке. А удалять их действительно нужно, они вводят в заблуждение поисковых роботов. Но, вполне может быть, после этого у вас ухудшится микроразметка Яндекса.
Ссылочка с даты комментариев находится там, куда ее поставил разработчик шаблона. А поскольку разработчики разные и четких установок, что где должно находиться, не существует, то и получается, что в разных шаблонах приходится “изыскания” проводить заново!
К файлу comment-template.php это не относится. Он принадлежит движку ВордПресс, а не шаблону. и находится в каждом сайте с движком ВордПресс. Поэтому, скорее всего данная строка находится именно под номером 1724. А папочка comment-template.php находится в папке wp-includes
То есть сам движок ВордПресс по умолчанию устанавливает ссылку в дате комментариев. по крайней мере, последние года два.
Не смотря на это, данную ссылочку все же лучше удалять, как правильно заметил Василий, на блогах известных вебмастеров они отсутствуют. Но также учитывайте, что после каждого обновления ВордПресс ссылочка появится вновь.
А, это Вы про файлы самого вордпресса… Ну, мне удавалось это сделать, не влезая туда. И тогда в разных шаблонах приходилось заново искать места, где эта ссылочка прописана. Правда, я давно уже этим не занималась. Править файлы вордпресса тем и плохо, что после каждого обновления приходится про это вспоминать и делать заново.
Давно хотела удалить дату, теперь знаю Как это можно сделать. Спасибо.
А Вы подумайте, точно ли Вам это надо
Здравствуйте. Подскажите пожалуйста, а как убрать непонятные символы над каждым комментарием у меня на блоге, которые отображаются рядом с датой. Дату можно и оставить, а вот непонятные цифры и знаки не знаю как убрать. Например вот такие 45866%%UFG111115%%%65%FGH1111%T5%1+114 и такие разные символы расположены в четыре строки над каждым коментарием. Не знаю что делать и не могу найти информацию как от них избавиться. Заранее спасибо.
Олег, Ваш сайт у меня не открывается, а не видя того, о чем Вы пишете, я не могу ответить. Проверьте ссылку, которую Вы написали в форму комментария
Здравствуйте Нина. Исправил ошибку в ссылке и прошу по возможности зайдите на мой сайт и посмотрите комментарии. Так же может дадите совет, как мне поменять фон текста в комментариях, чтобы текст было лучше видно. Заранее большое спасибо.
Олег, во-первых, скорее всего, эта ошибка в коде Вашей темы. Если Вы ничего там не меняли, значит, она была там изначально. Если что-то меняли, значит, внесли эту ошибку сами.
Во-вторых, я могу дать совет поменять тему, потому что темы черные с белым шрифтом очень плохо воспринимаются читателями. Они утомляют глаза. И потом в ней ужасные сочетания цветов, поэтому и тексты комментариев практически не видны.
Но если Вам Ваша тема уж очень нравится и менять её Вы не хотите, то зайдите в файл style.css, найдите вот этот код и поменяйте background-color на другой цвет:
.even {
background-color: rgb(208, 173, 158);
border-left: 1px solid rgb(102, 102, 102);
}
И еще: зачем Вы оставляете спамные комментарии? Например, в статье momentalnyj-progrev-dvigatelya-i-salona-v-moroz их 16 штук. Поисковые системы этого не любят.
Установите какой-нибудь плагин против спама и контролируйте, что он отсевает, а что пропускает. Akismet вполне подойдет, у меня есть статья о нем, если не знаете, как получить ключ.
Здравствуйте. Когда у меня была тема с белым фоном и чёрными буквами, то наоборот все жаловались, что болят глаза, когда же я поменял тему на чёрный фон, то люди наоборот начали хвалить эту тему, что читать стало намного приятнее. Не знаю кому верить, но белый фон, особенно вечером, лично мне тоже больше раздражает глаза. Пока оставлю как есть и лучше займусь вопросом, как поменять фон в комментариях. Кстати, где зайти в файл style.css, в Вордпресе или на хостинге? А насчёт спамных комментариев, ведь это когда одинаковые в одной статье, или я не прав. Объясните чайнику. Заранее спасибо.
Возможно, было слишком контрастно. Не надо делать слишком бело и слишком черно. Но это Ваше дело, тут как хотите.
В файл style.css можно зайти из админки. Там есть пункт Дизайн (или Внешний вид), а в нем Редактор. Когда нажимаете редактор, как раз style.css и открывается. Не забудьте только сделать эталонную копию, прежде чем редактировать.
Спам – это когда комментарии пишут не ради комментариев, а ради ссылки. Посмотрите, ведь нет ни одного реального человека, одни “двери, окна, заправка картриджей” и прочая фигня (это я для примера написала: не помню, кто там у Вас точно, но сама подобные регулярно удаляю. У них даже тексты похожие бывают. Вы это увидите, когда их побольше наберется). Реального человека Вы всегда определите.
Насчет этих 4-х строк Вы поняли? Ищите в коде
Большое спасибо, буду пробовать.
Здравствуйте. А как сделать комментарии как на вашем блоге – чтобы имя комментатора слева, а аватар справа?
Альберт, это надо смотреть конкретно, как сделано в Вашей теме. У меня это прописано в файле functions.php. Блоку div с классом avatar прописан стиль float:right; За счет этого аватар встает справа. А если прописать float:left; то он встанет слева. Так что ищите и меняйте, если Вам больше нравится аватар справа.
У меня тема Twenty Thirteen
И что это мне дает? Вы даже ссылку на свой блог в форме комментария не написали, что я Вам могу сказать?
Наверное Альберт надеется, что ты вместо него будешь копать в файлах его темы, что бы решить его проблему!
Видимо, да. Но я бы и посмотрела, если бы он дал ссылку, и хотя бы навела его, что именно надо искать.
А я считаю, что дата в комментариях нужна! Единственное, что неправильно – то, что дата комментария кликабельна! Это же лишние ссылки получаются
Азик, в комментариях я написала, как удалить эту ссылку. Кстати, тоже надо как-то взяться и удалить. Я после смены шаблона никак еще его в нормальный вид не приведу
Спасибо, попробую сделать. Я и сейчас из админки отвечаю. Но ссылка есть. А от нее дубли.
Здравствуйте, Нина! Спасибо за статью, долго искал решение. У меня проблема была в том, что дату и время можно ведь не показывать, если в общих настройках указать формат “произвольно”, а в окошках ничего не вводить. Но осталась буква “в”, я вот о чем говорю http://uborka-365.ru/uborka-kvartir-v-spb.html , которую я и искал как убрать и Ваша статья мне помогла. Но буквально вчера я обновил вордпресс до версии 4.4 и опять вылезла эту буква. Только теперь в файле comment-template ничего подобного нет и в функциях тоже. Подскажите пожалуйста, где можно еще поискать? Буду очень благодарен!
Трудно сказать, Сергей, т.к. шаблоны очень разные. Ищите в тех файлах, что как-то связаны с комментариями, а возможно, и в single.php
Спасибо, Нина, за быстрый ответ. А разве дело в шаблоне? Ведь я его не обновлял, а обновил именно движок. Или я что-то путаю?
Сергей, дата может быть “зашита” и в шаблоне, и в движке. Так что ищите и там, и там. Большего подсказать не могу, к сожалению.
Все, разобрался, может кому-нибудь пригодится, в wordpress 4.4 нужно редактировать файл class-walker-comment.php. Всего доброго.
Хорошо, что разобрались, плохо, что опять нужно редактировать файл движка.
Уже неделю ищу такой материал, дату удалила просто в настройках Word Press, но осталась ссылкой “at” или “в” по русски, а это тысячи лишних анкорных ссылок /по числу комментариев/. И еще хуже, если это “в” есть в составе заголовка статьи – это уже переспам ключевыми словами.Уже скачивала файл comment template.php, но видимо не тот файл искала, для меня все это очень трудно.
По вашему способу надеюсь получиться удалить лишнюю ссылку, взяла в закладки, начну это делать со свежей головой.
Сейчас в 2017 году нет такого кода в comment templyte.php, а где есть ума не приложу. У вас кстати, присутствует в комментариях и дата и время.
Да, код чуть-чуть другой. Я написала в статье новый вариант.
По поводу моего блога: у меня сейчас в нем нет многого из того, о чем я писала. Просто сейчас совсем им не занимаюсь, поэтому, поменяв шаблон, сделала только самые необходимые изменения
К сожалению, чтобы убрать дату в комментариях я не нашла данный код, у меня он прописан как-то подругому. В css я просто прописала:
.comment-metadata {
display: none;
}
Не знаю на сколько это правильно, но работает на ура))
Ваше решение имеет право на существование. У него только один недостаток: Вы не удалили лишний код, а добавили к нему еще немножко