Во первых спасибо за отзывчивость. Супер.
Но я вот видимо объяснил криво.
Описанная логика действует в теме ЕДИНОЖДЫ. Т.е. обсуждаемый аддон работает только внутри if($post_count==1){...} и активируется только в момент размещения сообщения в теме.
Ну то есть вот некая тема с ОДИНМ сообщением. И ничего с ней не происходит... Потом в теме кто-то размещает ВТОРОЕ сообщение и как только этот кто-то жмет "Ответить", и сообщение пройдя штатные проверки отправляется в тему, включается аддон и скрывает ПЕРВОЕ сообщение. И всё, далее что-бы с темой не происходило аддон ее не трогает, ибо технически в теме уже больше одного сообщения.
Зачем это надо. Есть такое применение xf (не по назначению ;)) где каждая тема форума это виртуальная ячейка регистра. В названии темы определенный код. Уполномоченные юзеры заходят в темы и делают отметки. Первый пост темы - содержит техническую информацию и должен скрываться как только в регистр (тему) вносят новую информацию (регламент такой).
Вы знаете что если через модераторский интерфейс форума первое сообщение темы скрывать, то скрывается вся тема. Сейчас эти первые темы скрывает админ руками ставя в базе (xf_post) "message_state=moderated". Устал он. Надо автоматом.
Можно конечно регулярно извне толкать что-то типа
SELECT COUNT(*) FROM xf_post WHERE thread_id=xxxx
и если дает больше 1 то
UPDATE xf_post SET message_state=moderated WHERE thread_id=xxxx and position=0
но хотелось бы как-то гармонично внутри движка эту манипуляцию проводить.