ShvetsGroup

 

WordPress глазами друпаллера, часть 2

6 comments

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
46cbe1674da1d2888104482d6ed4f87f
- хеш числа 187425, по умолчанию.

Это была защита от DoS-атак, тепер ее убрали и запускается крон без параметров, например
wget http://my-site.com/wp-cron.php -O /dev/null 2> /dev/null

Кто захочет копнуть глубже, то есть хуки для крона и можно вешать обработку своих задач на крон.

Соединим вместе WordPress и Drupal

Рентабельно содержать Друпал и ВордПресс в рамках одного проекта, только если:

  • Ваши знания Друпала, оставляют желать лучшего.
  • ВопрдПресс будет жить отдельно (на отдельном домене, с отдельным дизайном — чем дальше, тем лучше).

Допустим, вам все-таки нужно иметь две системы в одном проекте, с общим дизайном. Порядок действий в этом случае:

  • Начать делать сайт стоит однозначно с Друпала.
  • Когда все будет готово, вы должны перенести друпаловскую тему на вордпресс.
  • Опционально: Чтобы избежать головной боли при изменении стилей на обоих системах, можно включит в друпаловскую тему стили прямо из Друпаловского сайта.
  • Опционально: Если ВордПресс и Друпал находятся на однолм сервере, можно еще туже их связать, включая куски шаблонов из друпалоской темы в вордпрессовскую (но здесь уже возможны проблемы поддержки проекта по прошествии некоторого времени).

Общее впечатление от WordPress

  • С виду работает шустрее Друпала, но на траффике с производительностью будут те же проблемы, если не включать плагины кеширования.
  • Создание шаблона не вызывает трудностей, настройка сайта происходит гладко и беспроблемно.
  • Преимущество этой системы в простоте использования, но некоторые вещи, на мой взгляд, упрощены излишне.
  • Не хватает возможности правки перевода или замены текста в локализации, необходимо ставить отдельные плагины.
  • Большое количество файлов в корневой директории.
  • Неудобное перемещение на другой домен ил ив другую папку, необходимо вручную править дамп базы данных.
  • Неудобный апдейт системы. Необходимо заменить все файлы, которые вы не правили.
  • Тема которую вы создали или темы которые скачаны отдельно лежат в общей папке с темами которые идут в комплекте, аналогично и плагины.
  • Система создана для блога или сайта-визитки и использовать для более крупного проекта вызовет ряд сложностей как при разработки, так и в дальнейшем администрировании сайта.

Comments

JiLiZART
December 4th, 2009

Вывод: В топку, что я и сделал. А если хочется развернуть блог на отдельном домене\поддомене, лучше мультисайтовости друпала не найти =)). Лучшая интегрированность, можно постить и туда и сюда.

Alexander Shvets
December 4th, 2009

Да, и теперь у всех есть референс :)

sadmin
December 4th, 2009

На сайте вп книжка phpBB, Drupal, WordPress построение онлайн сообщества-

Земля тряслась - как наши груди,
Смешались в кучу кони, люди,
И залпы тысячи орудий
Слились в протяжный вой...

Copyright М. Ю. Лермонтов, «Бородино»

JiLiZART
December 8th, 2009

Про DLE бы написали бы обзор =). Всётаки варезник на друпале куда круче чем на нём =)

stefan
January 13th, 2010

>Неудобный апдейт системы. Необходимо заменить все файлы, которые вы не >правили.

Да ну?

Апдейт Друпала гораздо проблемней, чем автоматический апдейт WP. Хорошо это или плохо (чревато как минимум) это отдельный вопрос. Но апдейтить WP легче и гораздо.

Arti
February 15th, 2010

Каждому своё. Вордпресс тоже хорошо масштабируется. Лёгко писать модули. Вот документация у них слабовата, но всё же. Возможности кеширования отличные.

Got anything to add?