Какими должны быть шаблоны для BuddyPress 1.1?

Одно и, на мой взгляд, единственное неприятное изменение, которое претерпел BuddyPress на своем пути к версии 1.1, это задействование на полную катушку встроенного в WordPress (начиная с 2.7) механизма родительских и дочерних тем.

Для начала объясню, что такое родительская тема (далее РТ). Самыми яркими примерами являются шаблоны: Carrington, WP Basis, Hybrid, Thematic и много других. Идея РТ заключается в том, что создается так называемый “движок” шаблона, который содержит в себе весь функционал, всю структуру блоков, все самые изощренные находки программиста, также в РТ включены все основные стили разметки, админка и многое другое. Но сам по себе при активации этот шаблон выглядит блекло – он не содержит оформления как такового, РТ – это функциональный скелет шаблона. А для “мяса и кожи” используются дочерние темы (далее ДТ), которые содержат в себе все рисунки, цвета, “фентифлюшки” оформления. Даже если зайти по фтп в папку РТ, то там вы увидите кучу папок и много-много php- и js-файлов, в то время как в ДТ – максимум 2 папки (одна из которых images) и буквально несколько php-файлов (ну, и еще screenshot.png и style.css).

Если сделать лирическое отступление, то:
РТ – это мужчина, который все делает,
ДТ – это женщина, которая все украшает.

Что это дает вам, администраторам: вам надо будет скачать 2 шаблона и оба поместить в папку /wp-content/themes/, оба активировать на странице “Администратор → Темы” и активировать только ДТ, то есть ту, в названии которой в админке не будет слова Parent :). Вы активируете и используете только дочерний шаблон, родительский же в это время может обновляться много раз (обновляя РТ – вы тем самым добавляете что-то новое в ДТ). Вашим шаблоном для экспериментов становится именно ДТ – вы редактируете ее файлы как хотите и можете не бояться, что испортите ваш шаблон, так как его ядро находится в другой папке. Вы можете скопировать ДТ, переименовать папку и название шаблона (в style.css) и начать создавать на основе готового движка шаблона что-нибудь абсолютно новое – и вам не надо будет думать о php и программировании в целом, вашей заботой становится только дизайн и стиль сайта.

Теперь вернемся к BuddyPress и новым шаблонам в нем.

Как я уже писал в предыдущей записи, в которой вы можете скачать правильный русский официальный BuddyPress 1.1, шаблоны поменяли свою структуру. Теперь нет отдельно шаблона для основного сайта и отдельно шаблона для страниц профиля, групп, друзей и т.д. Все объединено в единую тему – родительскую BuddyPress Social Network Parent Theme, а для красивого дизайна используется BuddyPress Default.

Я подготовил для вас мануал, который поможет вам правильно приспособиться к новому формату. Так как последовательность ваших шагов на пути к прогрессу зависит от того, какой вы шаблон использовать с BuddyPress 1.0.x. Для начала:

  1. Зайдите по фтп в папку: ваш_сайт/wp-content/plugins/buddypress/bp-themes/.
  2. Скопируйте папки /bp-sn-parent/ и /bp-default/ в папку /wp-content/themes/.

А вот теперь начнется рок-н-рол…

Собственно, вы везунчик, так как вам практически ничего делать не надо. Удалите папку /wp-content/bp-themes/, все, что нужно, вы уже скопировали. Активируйте BuddyPress Default – и все.


  1. Скопируйте папку /wp-content/themes/bp-default/ в папку /wp-content/themes/bp-mytheme/. (Mytheme – может быть любое слово, только без пробелов и английскими буквами). Далее эту новую папку я буду называть “Mytheme“.
  2. В Mytheme в папке /_inc/css/ создайте файл с именем custom.css.
  3. Скопируйте все изменения, которые вы делали в css-файлах старого шаблона /bphome/ и /bpmember/ во вновь созданный файл custom.css.
  4. Откройте файл style.css в корне Mytheme.
  5. Отредактируйте название шаблона (то, что после Theme Name:) на уникальное. Например, Mytheme :)
  6. Найдите в конце файла строку
    /* @import url( _inc/css/custom.css ); */

    Удалите "/*" и "*/" - то есть раскомментируйте импорт файла стиля.
  7. После того, как сделаете бекап /wp-content/bp-themes/, удалите эту папку.
  8. Включите ваш новый шаблон Mytheme на странице “Администратор → Темы”.
  9. Активируйте ваш шаблон Mytheme на странице “Внешний вид → Темы”.
  10. С этого момента у вас должна начать использоваться новая структура шаблонов BuddyPress, но с сохраненными вашими изменениями.


Что ж, вас ждет большой кусок работы, которую необходимо сделать. В основном, это будет подгонка стилей и дописывание много чего в style.css, ведь у вас в папке WordPress темы были стили лишь для страниц сайта, а не пользовательских страниц. Что ж, приступим:

  1. Сделайте бекап вашего первоначального WordPress шаблона (на всякий случай).
  2. Откройте папку /wp-content/themes/bp-sn-parent/ и скопируйте оттуда все папки (именно папки!) и вот эти файлы: “optionsbar.php“, “userbar.php” и “plugin-template.php” – в папку с вашим WordPress шаблоном.
  3. Теперь открываете файл “header.php”, в него необходимо вставить вот этот код. Вставляете в div не шапки, а в самом верху div непосредственно контента. Фактически, вам просто надо экспериментальным путем выяснить. Сохраните файл header.php.
  4. Убедитесь, что сделали бекап папки /wp-content/bp-themes/. Удалите эту папку.
  5. Теперь вы можете зайти на свой сайт и у вас должно получиться следующее: при переходе по любой BuddyPress-ссылке (на снаницу профиля, к примеру) у вас отображается шапка и подвал вашего основного шаблона, но в целом схема блоков BuddyPress будет выглядеть непрезентабельно (скорее всего).
  6. Вы можете попробовать добавить стили, которые отвечают за структуру компонентов и блоков, из стандартного шаблона BuddyPress. Для этого откройте файл style.css вашего WordPress шаблона и добавьте туда перед любыми другими стилями вот это:
    @import url(../bp-sn-parent/_inc/css/components.css)
  7. Теперь у вас должна отображаться базовая структура компонентов на пользовательских страницах. Но вам, конечно же, придется дописывать многие стили оформления самостоятельно для доведения внешнего вида до ума.

Если же вы видите, что вам тяжело адаптировать шаблон, то вы можете вернуться к предыдущему варианту: просто восстановите папку /wp-content/bp-themes/. Это заставит работать BuddyPress в режиме совместимости. Вы не увидите некоторые новые фичи, введенные в версии 1.1, но вы избавите себя от лишней головной боли.

Второй вариант: сделайте копию папки /bp-default/, дайте ей уникальное название (это значит, надо изменить название папки и в файле style.css поменять Theme Name:). Далее активируйте этот шаблон для вашего второго блога. То есть: ваш первоначальный сайт станет новостным блогом, а на второй блог будет ссылаться BuddyPress и на нем будут разные его фишки. Это даст возможность BuddyPress-ссылкам нормально работать вне вашей WordPress темы на основном сайте. Конечно же, стилей никаких не будет, так что вам придется дописывать css для BuddyPress, чтобы он соответствовал дизайну WordPress шаблона. Так же не забудьте добавить вот эту строку в файл wp-config.php:

define( 'BP_ROOT_BLOG', [ID второго блога, просто число] );


То есть вы создали свой собственный шаблон как для страниц сайта, так и для пользовательских страниц. Вам остается просто объединить их в один шаблон.

Для этого вам понадобится всего лишь скопировать все файлы (папки, рисунки, css, php) из BuddyPress шаблона в папку с WordPress темой.

После этого сделайте бекап папки /wp-content/bp-themes/ и удалите ее. Таким образом вы задействуете новый шаблон (он уже будет активирован).

Похожие записи:

Понравился пост? Подпишись на RSS ленту CosyDale.com!
Получай всю интересную информацию первым.

123

На данный момент: 25 комментариев

RSS лента комментариев на эту записьTrackBack URL

Включиться в обсуждение

XHTML: <blockquote></blockquote> <a href=""></a> <strong></strong>