WordPress 2.5: Изменения в темах и плагинах PHP 29.04.2008

wp251dev.png

Первоисточник: 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, которые добавляли кнопки, были обновлены. Для большего просвещения читайте тут:

  1. http://wiki.moxiecode.com/index.php/TinyMCE:Create_plugin/3.x
  2. http://wiki.moxiecode.com/index.php/TinyMCE:API
  3. http://codex.wordpress.org/TinyMCE_Custom_Buttons

Изменения связанные с TinyMCE одной строкой:

  1. Изменения в GZIP компрессии, теперь она соединяет все части TinyMCE и выдает сжатые файлы за один шаг.
  2. Изменения в загрузке языковых файлов, теперь коды языков только в формате ISO 639-1 (первые 2-е буквы из WordPress локали: en, ru, ua и т.д.)

Изменения в структуре базы данных, коснулись следующих таблиц: comments, links, options, posts, term_relationships.

Цитата
Если вы изменяете жене неохотно, значит вы ее любите.
С. Альтов
Категории
Архив