Если комментарий имеет дочерние комментарии и этот комментарий удалить или пометить спамом, или "не проверен", то вся ветка комментариев перестаёт отображаться.
Функцияget_comments может вернуть все комментарии по статусу aprove, но простым списком без древовидного отображения. Если в get_comments указать в параметрах threaded, то комментарии, у которых не удалялись дочерние комментарии содержат children объект (если простыми словами). А комментарии, у которых были удалены дочерние элементы не содержат children объект или также исчезает вся ветка комментариев.
Это какой-то баг или есть где-то настройка?
Надо сделать, чтобы список комментариев отображался в древовидной структуре. Если комментарий был удалён, то пропустить его, а не скрывать всю ветку.
Или единственный вариант это сделать "по своему" (получить все комментарии списком и организовать их древовидно)?
При удалении комментария получить дочерний комментарий с помощью get_children()
У дочернего комментария установить родительский 0 или ид parent комментария, который удаляется.
Тогда комментарии будут отображаться правильно.
Это уже сделано в wordpress. Но это не работает, так как комментарий меняет статус на "trash". Если отключить корзину, то комментарий сразу удалится и ветка комментариев не будет скрываться.