Первоисточник: Codex [Migrating Plugins and Themes to 2.5]
Как я писал в прошлом посте, про переход на новую версию, не все плагины гладко ставятся и мне стало интересно, чего изменилось в плане разработки тем и плагинов. Как это принято в цивилизованном мире :) чем более старше цифра изменяется в номере версии тем более существенные изменения в релизе, так и с WordPress’ом при переходе с 2.3 на 2.5 (версия 2.4 была пропущена) были сделаны изменения, которые могут отразиться на работоспособности некоторых плагинах.
Главным изменением в темах – добавление встроенной поддержки аваторов – маленькие иконки для людей, которые оставляют комментарии на блоге, источником иконок есть некий сервер в инете (по умолчанию Gravatar).
Если функция отображения аваторов включена в админке, то возле каждого комментария будет отображаться иконка связанная с автором комментария. Для включения отображения аваторов просто добавляем в цикл комментариев (comment loop), файл comments.php, следующие строчки (пример можно посмотреть в темах, что идут по-умолчанию в WordPress (Default и Classic)):
<? if(function_exists('get_avatar')){ echo get_avatar($comment, '50'); } ?>
Функция get_avatar принимает 3 параметра: 1-й – идентификатор автора комментария (email, ID на сайте WordPress.org или объект комментария) 2-й – размер картинки с аватором (до 80 пикселей) 3-й (необязательный) – файл с аватором по-умолчанию (в случаи если нужный аватор не найден)
Главные изменения затрагивающие плагины, касаются изменения в интерфейсе админки и меню. Меню было немного изменено, большинство плагинов возможно по прежнему будут работать, если они используют стандартные методы добавления пунктов меню в админке, иначе их придется немного подправить.
Другое изменение, которое может затрагивать некоторые плагины, есть то, что перехватчики активации плагинов теперь находятся не в одном пространстве имен с функциями. Это значит, что если плагин имеет перехватчик при активации и вызывающи им функции находятся в глобальном пространстве, определенном внутри файла с плагином, вы обнаружите, что они не работают. Все, что нужно сделать – в глобальном пространстве файла добавить объявление “global” для переменных которые вы используете. Например:
global $my_plugin_variable; $my_plugin_variable = 3; function my_plugin_activation_function() { global $my_plugin_variable; // продолжение функции активации }
Поведение ловушки restrict_manage_post было изменено.
В WordPress версии 2.5 был включен новый TinyMCE 3, который был полностью переписан. Было произведено много изменений в API и все плагины WP, которые добавляли кнопки, были обновлены. Для большего просвещения читайте тут:
Изменения связанные с TinyMCE одной строкой:
Изменения в структуре базы данных, коснулись следующих таблиц: comments, links, options, posts, term_relationships.