Совсем недавно наткнулся на интересную проблему в блоге.
В админке WP некоторые комментарии приписаны к совсем другим записям (т.е. WP определяет их как комментарии к другой записи), хотя оставлены были не к ним, причём комментарии отображаются нормально. Залез в БД, посмотрел, что действительно, у комментариев comment_post_ID тот, которого быть не должно, но ведь отображается всё нормально?
Плюс ко всему этому на одной странице функцией the_permalink(); идёт ссылка на одну запись (например, post1.html), а вызовом функции trackback_url(); совсем иная запись (post2.html/trackback). Пример можно посмотреть тут (в комментариях ссылка на трекбек адресована совсем на иной пост).
Примечательно, что наблюдается не везде, а будто через раз. Заметил после установки плагинов FireStats и WP Optimize, которые, как ни странно :D, влияют на таблицу с комментариями (это первый) и на БД вообще (второй).
Вопрос в том, как можно быстро почиститься, кроме как ручной правки comment_post_ID у комментариев (не существенный вопрос – комментариев немного, поправить ручками дело десяти минут), почему же комментарии отображаются нормально и почему вообще такая чертовщина происходит? 🙂
Разобрался, было дело в теме: несоответствие ID, который выбирается при отправке комментария, и ID записи не совпадали. Решил особо не копаться, открыл оригинальный код темы и вернул как было, немного модифицировав.