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