В принципе, я уже сделал стабильную версию, для полного счастья мне не хватает плагина голосования. Как же его сделать? Во первых это будет все таки плагин - включать в ядро голосование кажется мне лишним, хотя плагины по умолчанию вроде уже как и относятся к ядру номинально.

Первое требование к голосовалки - защита от скликивания, то бишь один юзверь = один голос. Обеспечить это можно через авторизацию юзверя, например по кукам, ибо любые требования к регистрации считаю лишними, если это не касается денежных отношений. То есть требуется вести таблицу куков юзверей.

Второе - желательно чтобы голосование было аяксовым, то есть без перезагрузки страницы. Примерно следующим образом: после клика сразу показывать результаты, убирая саму форму голосования. Возможна промежуточная форма подтверждения голоса - по аналогии с существующими комментами. Если включен javascript то можно будет обойтись и без формы подтверждения (кстати я думал про такое и для комментов, но комменты будут работать и без куков).

Следующий важный момент - это конструктор формы голосования. Очевидно требуется либо визард создания формы, либо псевдоязык описания этой формы. Я конечно склоняюсь к языку, но подозреваю, что подавляющее большинство выберет визард. Так может быть сделать простой визард генератор для языка описания? В пост надо будет вставлять либо законченный html, либо псевдокод описания формы. Склоняюсь к псевдокоду, так как псевдокод проще редактировать вручную, чем разбираться в html. С другой голый html предоставляет полную свободу вэбмастеру в выражении своих дизайнерских желаний. Поскольку дизайнеров я ни чем не ограничиваю - что хотите, то и пишите, то придумаю псевдоязык описания голосовалки.

Голосовалка делится на две части - форма голосования и результаты голосования. Можно будет показывать одновременно. После голосования форма убирается, а результаты должны быть обновлены. Голосование может быть закрыто. Сейчас подумал - голосование во многом похоже на систему комментирования, где вместо текста коммента выступает выбор в голосовании, а также не требуется вводить имя и почту. Думаю, что голосование может быть только в посте.

Можно сделать двумя способами - либо псевдокод прямо в тексте посте, либо через внешнее присоединение, то есть заходишь в админку плагина и нажимаешь добавить голосование и указываешь, где его добавить. Оба метода имеют свои плюсы и минусы: в посте можно будет легко интегрировать внутри текста самого поста. Внешний же позволит, так сказать, извне управлять,, например удалять голосование из поста, когда как иначе придется текст поста вычищать. Сложно пока отдать предпочтение.

Немного о кнопках. Можно сделать голосование в виде радиокнопок или в виде кликабильных ссылок (как вариант кнопка). Особой разницы не вижу. Каждый пункт голосования это пара, как в ini файле: название = значение. Значение может быть автоматическим, например от 1 до n, где n = число пунктов голосования. Тогда псевдоязык для голосовалки будет примерно таким:

[pol]
За = 1
Против = 2
Воздержался = 3

а если опустить значения, то еще проще:

[pol]
За
Против
Воздержался

Признаком окончания описания - пустая строка. Можно также добавить название голосования (опционально) [pol Название голосования]. Также куда то прописать вид интерфейса - радиокнопки, ссылки, кнопки. Для каждого типа необходимо иметь соответствующий html шаблон, а также средство редактирование шаблона. Тогда псевдоязык немного усложняется и скорее всего необходимо обязательное наличие закрывающего тега. Например представить в таком виде

[pol]
title = Название голосования
type= radio
[items]
За
Против
Воздержался
[/items]
]/pol]

А первый простой вариант мне тоже нравится. Тогда можно разрешить два вида описания - пупрощенный без закрывающих тегов и второй более подробный. Ну и для обслуживания всего этого хозяйства потребуются javascript, xmlrpc методы обработки голоса.