WordPress глазами друпаллера, часть 2
Продолжение статьи «WordPress глазами друпаллера».
Локализация
ВордПресс использует 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
- хеш числа
46cbe1674da1d2888104482d6ed4f87f187425
, по умолчанию.
Это была защита от DoS-атак, тепер ее убрали и запускается крон без параметров, напримерwget http://my-site.com/wp-cron.php -O /dev/null 2> /dev/null
Кто захочет копнуть глубже, то есть хуки для крона и можно вешать обработку своих задач на крон.
Соединим вместе WordPress и Drupal
Рентабельно содержать Друпал и ВордПресс в рамках одного проекта, только если:
- Ваши знания Друпала, оставляют желать лучшего.
- ВопрдПресс будет жить отдельно (на отдельном домене, с отдельным дизайном — чем дальше, тем лучше).
Допустим, вам все-таки нужно иметь две системы в одном проекте, с общим дизайном. Порядок действий в этом случае:
- Начать делать сайт стоит однозначно с Друпала.
- Когда все будет готово, вы должны перенести друпаловскую тему на вордпресс.
- Опционально: Чтобы избежать головной боли при изменении стилей на обоих системах, можно включит в друпаловскую тему стили прямо из Друпаловского сайта.
- Опционально: Если ВордПресс и Друпал находятся на однолм сервере, можно еще туже их связать, включая куски шаблонов из друпалоской темы в вордпрессовскую (но здесь уже возможны проблемы поддержки проекта по прошествии некоторого времени).
Общее впечатление от WordPress
- С виду работает шустрее Друпала, но на траффике с производительностью будут те же проблемы, если не включать плагины кеширования.
- Создание шаблона не вызывает трудностей, настройка сайта происходит гладко и беспроблемно.
- Преимущество этой системы в простоте использования, но некоторые вещи, на мой взгляд, упрощены излишне.
- Не хватает возможности правки перевода или замены текста в локализации, необходимо ставить отдельные плагины.
- Большое количество файлов в корневой директории.
- Неудобное перемещение на другой домен ил ив другую папку, необходимо вручную править дамп базы данных.
- Неудобный апдейт системы. Необходимо заменить все файлы, которые вы не правили.
- Тема которую вы создали или темы которые скачаны отдельно лежат в общей папке с темами которые идут в комплекте, аналогично и плагины.
- Система создана для блога или сайта-визитки и использовать для более крупного проекта вызовет ряд сложностей как при разработки, так и в дальнейшем администрировании сайта.
Комментарии
4 декабря, 2009
Вывод: В топку, что я и сделал. А если хочется развернуть блог на отдельном домене\поддомене, лучше мультисайтовости друпала не найти =)). Лучшая интегрированность, можно постить и туда и сюда.
4 декабря, 2009
Да, и теперь у всех есть референс :)
4 декабря, 2009
На сайте вп книжка phpBB, Drupal, WordPress построение онлайн сообщества-
Земля тряслась - как наши груди,
Смешались в кучу кони, люди,
И залпы тысячи орудий
Слились в протяжный вой...
Copyright М. Ю. Лермонтов, «Бородино»
8 декабря, 2009
Про DLE бы написали бы обзор =). Всётаки варезник на друпале куда круче чем на нём =)
13 января, 2010
>Неудобный апдейт системы. Необходимо заменить все файлы, которые вы не >правили.
Да ну?
Апдейт Друпала гораздо проблемней, чем автоматический апдейт WP. Хорошо это или плохо (чревато как минимум) это отдельный вопрос. Но апдейтить WP легче и гораздо.
15 февраля, 2010
Каждому своё. Вордпресс тоже хорошо масштабируется. Лёгко писать модули. Вот документация у них слабовата, но всё же. Возможности кеширования отличные.
Хотите что-то добавить?