Текст комментариев в записях всегда «Привет! Это комментарий. …»
-
Во всех комментариях к записям вместо текста комментария всегда отображается «Привет! Это комментарий…» В админке всё нормально. По кнопке «Edit» переходит на редактирование данного комментария со своим текстом. Где, что посмотреть?
-
Для начала смотреть в сторону вставок кода и плагинов, использующих query_posts() и не делающих wp_reset_query(), или тупо переопределяющих глобальные переменные $posts и/или $post. Чаще всего этим страдает вывод похожих записей.
В общем случае — пункты 4-6 инструкции Как задавать правильные вопросы.
Плагины все отключены. Проблема проявляется с темой Circle LITE By kopatheme https://wordpress.org/themes/circle-lite/. С другой темой проблема не проявляется.
В файле comments.php строка 55
<div><?php comment_text(true); ?></div>замените на
<div><?php comment_text(); ?></div>И обязательно напишите автору темы, чтобы он сходил по ссылке https://codex.wordpress.org/Function_Reference/comment_text и внимательно посмотрел на параметр функции.
-
Ответ изменён 8 лет, 11 месяцев назад пользователем
Юрій. Причина: исправлен номер строки
Проблема проявляется с темой Circle LITE By kopatheme https://wordpress.org/themes/circle-lite/.
Не наблюдаю такого:
Как интересно! Неужели
true != 1?Как интересно! Неужели
true != 1?Не знаю как так получается — я просто поставил тему и попробовал воспроизвести проблему 🙂
Но судя по найденному у этого производителя везде такое.
Кстати, маленькая поправка: в 55й строке.
Спасибо! Помогло.
маленькая поправка
Спасибо!
@klever73, а у Вас самый первый пост и комментарий к нему живы? Ну тот контент, который после установки ВП есть на сайте? Посты не удалены?
Из корзины в тч.Самый первый пост жив, не в корзине. Комментарий к нему в корзине.
Комментарий к нему в корзине.
Думаю, что он и достаётся в тему. Если удалить из корзины, то проблемы наверняка не будет. Не будет найден первый коммент.
Хотя, конечно, автор темы с этим накосячил. Ну и ИМХО в функции
comment_textесть непорядок (нет соответствующих проверок).Непорядок в вызове
comment_text(true);, в котором почти явно указан id комментария.Непорядок в вызове comment_text(true);, в котором почти явно указан id комментария.
То, что в теме непорядок с вызовом — это понятно, тут вопросов нет.
Но мне кажется, непорядок и в самой функции в ядре. В том, что несмотря на почти явное указание ID при отсутствии коммента поста таким ID (а если у него несколько комментов?) подставляется текущий, а не указанный в вызове. Вот у меня почему сработало идеологически правильно — потому что нет первого поста и коммента.
при отсутствии коммента поста таким ID
Параметр функции — ID коммента. В нашем случае (ну, слава Валену, не совсем нашем:)) это 1. Если выводится удаленный совсем или лежащий в корзине коммент, то это действительно неправильно. У меня коммент id = 1 не удален, поэтому вывод текста коммента с id=1 был абсолютно логичным с точки зрения функции.
Вот у меня почему сработало идеологически правильно
Та тоже неправильно. Сказано «коммент с id = 1», значит, надо либо вывести этот коммент, либо ничего не выводить (в идеале админу вывести предупреждение о попытке вывода несуществующего коммента).
Та тоже неправильно. Сказано «коммент с id = 1», значит, надо либо вывести этот коммент, либо ничего не выводить
Я ж именно об этом:)
(идеологически правильно — в см в правильной идеологии: посты со СВОИМИ комментами, а не чужими. Но это не правильно с тз логики работы функции — надо либо то, что указано, либо ничего/ошибка.)-
Ответ изменён 8 лет, 11 месяцев назад пользователем
SeVlad.
-
Ответ изменён 8 лет, 11 месяцев назад пользователем
Тема «Текст комментариев в записях всегда «Привет! Это комментарий. …»» закрыта для новых ответов.
