Очень простой, но работающий плагин Wordpress для SWF

Сейчас за два часа написал очень простой, но работающий плагин Wordpress для SWF файлов, то бишь флэш-игр. Взял за основу плагин swfobject-reloaded. Ну как взял? Просто посмотрел, как и куда там цепляются функции, и написал свой код, выбросив всё чужое.

Как он работает:
1. Заливаете SWF-файл игры в WordPress как обычный файл (для этого мой плагин даже не требуется).

2. В медиабиблиотеке жмете кнопку “вставить файл”

3. Плагин вставляет в HTML-код поста шортлинк со ссылкой на файл.

4. При отображении поста пользователям плагин подменяет шортлинк на универсальный HTML-код вставки SWF - с тегами object и embed.

А теперь главная киллер-фича - РАЗМЕРЫ ФЛЭШ-ИГРЫ ОПРЕДЕЛЯЮТСЯ АВТОМАТИЧЕСКИ!

Не знаю почему, но этой фичи нет во многих и даже коммерческих плагинах. Западные программисты - такие олени, даром что маркетингу лучше наших обучены. Автоматическое определение работает в 99%, а там где не работает… Честно сказать, я не уверен, что такие игры с нестандартным кодом следует вообще выкладывать.

Плагин тестировался на WordPress 3.5, полёт нормальный. Вот архив

Обновленный Simple SWF Embedder

По идее, должно работать с WordPress 2.5 и выше, т.к. используется функция add_shortcode , появившиеся в 2.5

Пробуйте, пользуйтесь, там всё просто. Если что-то непонятно или ненужно, можете переписывать.

Я сейчас уже посидел, подумал и решил, что там есть задел для небольшой оптимизации. Автоматическое определение размеров надо делать в момент вставки шортлинка в пост, когда редактируешь, а не каждый раз, когда пользователи обращаются к странице. Это лишняя нагрузка. Ладно, сделаю потом, сейчас пойду тестить ночное антикафе в Томске - там, говорят, чай и ВайФай на халяву дают. Хочу затестить, как возможную альтернативу офису.

Update: оптимизация проведена, размеры определяются один раз - при вставке игры в пост, вычищены комменты и лишний код, а ночное антикафе “Проектор” не работает.

Пользуясь случаем, напоминаю, что основы “как писать плагины для Wordpress” лежат тут.


Leave a Reply




#hello#