WordPress глазами друпаллера, часть 2
Локализация
ВордПресс использует GNU Gettext для локализации интерфейса. Локализация включается в файле wp-config.php выбором соответствующего языка:
define ('WPLANG', 'ru_RU');
Далее движок ищет файлы ru_RU.po и ru_RU.mo в папках темы и в папке с каждым плагином.
* en_US — Английский США
* en_UK — Английский Великобритания
* fr_FR — французский
* ru_RU — русский
Для плагинов — pluginname-ru_RU.po
Эти файлы создаются редактором poEdit, все стандартно и знакомо.
Существует 3 функции, которые необходимо использовать в темах и плагинах для перевода:
* __($text, $domain) — (аналог друпаловского t()) возвращает переведенный текст. $domain - идентификатор для которого должен быть получен текст, по умолчанию 'default'. Использовать не обязательно (заполняем названием темы или названием модуля).
* _e($text , $domain) — выводит переведенный текст (то же самое: print __($text);)
* __ngettext($single, $plural, $number, $domain) — (аналог друпаловского format_plural()) ищет нужную версию перевода для числовой фразы (например: 1 комментарий, 2 комментария, 5 комментариев).
Шорткоды
Начиная с версии WordPress 2.5 появилось такое слово в обиходе разработчиков под эту систему, параллель с Друпалом провести трудно, это что-то вроде смеси снипеттов и препроцесс-обработчиков. Приведу пример.
Допустим, нам нужно оставить сообщение которое будет видеть определенная группа пользователей — администраторы. Открывает файл functions.php и вставляем следующий код:
add_shortcode('note', 'sc_note');
function sc_note($atts, $content = null) {
if (current_user_can('publish_posts'))
return ''. $content. '';
return '';
}
первой строкой мы регистрируем наш шорткод в системе, далее описываем функцию которая будет обрабатываться и возвращать необходимые данные.
Теперь, в нужном месте записи пишем [note]Эту запись увидят только администраторы[/note] и, как написано в записи, текст будет доступен только администрации, а для остальных групп функция вернет пустую строку.
Таким способом можно выводить что угодно — статистику сайта, полезные ссылки, перечень подписчиков и прочее.
Плагины (модули)
Не буду объяснять что это такое и зачем и так ясно — для расширения функционала блога. В стандартной поставке присутствует только плагин Akismet (аналог друпаловского Mollom). Единственный недостаток - необходимо получить WordPress.com API key, после чего все комментарии будут обрабатываться этой службой и спама станет намного меньше в вашем блоге.
Все остальное не очень отличается от друпала. Скачиваем, устанавливаем, используем.
Крон
Многие вордпрессовсовцы удивятся, но крон есть! Cайт может работать и без запуска крон-скрипта, проблемы начнутся если делать запланированные публикации.
До версии 2.8.2 запуск крона необходимо было делать с хешем защитного кода:
http://my-site.com/wp-cron.php?check=46cbe1674da1d2888104482d6ed4f87f
46cbe1674da1d2888104482d6ed4f87f
- хеш числа 187425, по умолчанию.
Это была защита от DoS-атак, тепер ее убрали и запускается крон без параметров, например
wget http://my-site.com/wp-cron.php -O /dev/null 2> /dev/null
Кто захочет копнуть глубже, то есть хуки для крона и можно вешать обработку своих задач на крон.
Соединим вместе WordPress и Drupal
Рентабельно содержать Друпал и ВордПресс в рамках одного проекта, только если:
* Ваши знания Друпала, оставляют желать лучшего.
* ВопрдПресс будет жить отдельно (на отдельном домене, с отдельным дизайном — чем дальше, тем лучше).
Допустим, вам все-таки нужно иметь две системы в одном проекте, с общим дизайном. Порядок действий в этом случае:
* Начать делать сайт стоит однозначно с Друпала.
* Когда все будет готово, вы должны перенести друпаловскую тему на вордпресс.
* Опционально: Чтобы избежать головной боли при изменении стилей на обоих системах, можно включит в друпаловскую тему стили прямо из Друпаловского сайта.
* Опционально: Если ВордПресс и Друпал находятся на однолм сервере, можно еще туже их связать, включая куски шаблонов из друпалоской темы в вордпрессовскую (но здесь уже возможны проблемы поддержки проекта по прошествии некоторого времени).
Общее впечатление от WordPress
* С виду работает шустрее Друпала, но на траффике с производительностью будут те же проблемы, если не включать плагины кеширования.
* Создание шаблона не вызывает трудностей, настройка сайта происходит гладко и беспроблемно.
* Преимущество этой системы в простоте использования, но некоторые вещи, на мой взгляд, упрощены излишне.
* Не хватает возможности правки перевода или замены текста в локализации, необходимо ставить отдельные плагины.
* Большое количество файлов в корневой директории.
* Неудобное перемещение на другой домен ил ив другую папку, необходимо вручную править дамп базы данных.
* Неудобный апдейт системы. Необходимо заменить все файлы, которые вы не правили.
* Тема которую вы создали или темы которые скачаны отдельно лежат в общей папке с темами которые идут в комплекте, аналогично и плагины.
* Система создана для блога или сайта-визитки и использовать для более крупного проекта вызовет ряд сложностей как при разработки, так и в дальнейшем администрировании сайта.
