Все хвалят WordPress, говорят, что очень удобная платформа для блогинга и других всяких замечательных приблуд, вроде досок объявлений, менеджера контактов. Вордпресс занимает около 70% рынка бесплатных CMS. И это круто! Люблю, когда бесплатный софт превосходит возможности платного в разы.
Так уж случилось, что на этой неделе мне пришлось разрабатывать плагин для WordPress. И, вы знаете, наболело. Откровенно наболело. За всю неделю, столкнулся с множеством нюансов, которые повергнут разработчика в шок, поэтому прежде чем писать плагин, прочтите это. Возможно, вы передумаете :-)
Итак, первая проблема — сверхидиотская структура документации. Я просто сходил с ума, из-за того, что не могу найти нужные мне функции или описание как вывести нужный блок в админке при написании поста. Благо, что с английским языком у меня всё в порядке, поэтому я пошёл гуглить. Результат был достингут спустя 30 минут, на каком-то буржуйском бложике, автор пишет, как это можно сделать ( ответ найден здесь).
Ещё одна проблема кодекса (так назыается документация для разработчиков) — это его неоднозначность. Например, есть две функции: get_option и get_settings. Эксперементальным путём было выяснено, что get_settings работает всегда, в отличии от первой функции. Но в кодексе про это, разумеется, нигде не сказано.
Ужасающая перелинковка документов. Я до сих пор не знаю, как я попал на страничку, в которой указывается информация о ролях и уровнях доступа. Интересным, оказывается, когда функция, по названию вроде бы как подходит тебе, но в описании к ней нет ничего!!! Вообще ничего! Приходится опять гуглить.
Последним камнем в мою голову стал крон. Точнее псевдо-крон. Как он работает: когда юзер заходит на сайт, то запускается механизм крона. Как я только не шаманил, но у меня не получилось сделать ежечасное выполнение задания по крону. Вместо ежечасного выполнения, происходило что-то ужасное, напоминающее апокалипсис :) Я для отладки сделал отсылку информации себе на почту, так вот письма приходили чуть ли не каждые 20 секунд.
Если кому-то нужна информация по разработке плагинов для WordPress, то просмотрите мои закладки, которые я сделал во время разработки плагина.
Но не всё так плохо. Несмотря на эти минусы, легко врубаешься в систему хуков вордпреса. Очень удобно написать настройки для плагина, поскольку вордпресс сам проверяет и обновляет значения, тебе нужно их просто выводить. Конечно, досадно, что в вордпрессе не предусмотрен механизм шаблонизации админки, а то писать смесь HTML + PHP для админки — то ещё удовольствие.
Поскольку закончил работу над плагином, захотелось продолжить развиваться и написать ещё один (а может быть и несколько) плагинов. Правда, я не знаю что он должен делать :) Подскажите хорошую идею для плагина? Постораюсь реализовать и сделать его бесплатным. Пожалуйста, не предлагайте галереи и каталоги.
Картинки по теме
Рекомендую прочитать:
- Ускоряем WordPress на максимум (11)
- Новая бесплатная тема для WordPress: IceBurgg (4)
- О важности наличия мобильной версии сайта (0)
- Сборки различных CMS — прибыльное дело! (0)
- Оптимизация VPS для WordPress 3.0 (1)
- Фишки WordPress (6)
- CMS на файлах и плагины для Direct Admin (8)
- Как сделать лучший медиа-сервер бесплатно? (13)
- XAMPP 1.7.3a, Ubuntu 10.10, mysql 5.1, apache 2.2, php 5.3.x, netbeans, xdebug и всё это вместе :) (0)

