Пишу плагин голосовалки, который оказывается гораздо сложнее, чем постановка задачи. Во первых я отказался от версии на файлах для этого плагина - он будет только для бд. Для плагина потребовалось 3 таблицы: само голосование (название, пункты), пользователи (их куки), и результаты (1 юзверь = 1 голос). Делать все это на файлах мне не хочется, к тому же его использование предполагается только на бд версии. Далее парсинг псевдокода голосования и сравнение данных после редактирования - нуждаются ли они в обновлении. Плагин будет преобразовывать простую форму записи данных голосования в расширенную.

Возникла еще проблема теоретических утечек ресурсов: когда пост будет удален, то данные о голосовании могут остаться. С другой стороны одно голосование можно использовать в неограниченном количестве мест (постов). Как быть с утилизацией неизвестно, так во время создания поста его id неизвестен (точнее = 0, что не является реальным значением). id поста можно получить после его повторного редактирования, а так на этапе создания поста он как бы еще не существует. Единственное, что пока приходит в голову это поиск во всех постах всех голосований, а потом удаление не существующих голосований, но на мой взгляд это экстремальный путь. С другой стороны можно придумать решение с сигнатурой голосования - кроме id голосования добавить уникальную строку (в блоголёте есть функция md5uniq для генерации случайных длинных строк), и эту сигнатуру можно будет добавлять в данные голосования. Потом можно будет делать полнотекстовый поиск по базе сигнатур и если сигнатура не найдена, то удалять голосование. Это решит проблему множественного использования одного голосования в разных постах. Запускать проверку сигнатур раз в неделю будет более чем достаточно.