Кардинальные изменения WordPress темы для работы с BuddyPress

Это продолжение предыдущей статьи про изменения в теме, чтобы она лучше выглядела, если у вас на сайте активирован BuddyPress.

В этой части мы разберемся, как значительным образом изменить BuddyPress страницы – и под этим я понимаю смену структуры сайта, верстки и прочее.

2. Как изменить структуру шаблона?

Сначала поймем, как работает BuddyPress c шаблонами.

Когда вы заходите на какую-либо страницу, отображающую контент вашей сети, ВР будет искать необходимый ему шаблон внутри ваш текущей активированный темы (в нашем случае – темы первоначально не предназначенной для ВР), и если не находит, то тогда подгружает файлы из папки /wp-content/plugins/buddypress/bp-legacy/.

Именно этим мы и будем пользоваться – переопределением файлов шаблонов. У BuddyPress есть приоритный поиск файлов, который выглядит таким образом (вверху списку – первый файл, который ищется):

  1. plugin-buddypress.php
  2. buddypress.php
  3. community.php
  4. generic.php
  5. page.php
  6. single.php
  7. index.php

Я буду исходить из того, что последние 3 файла у вас есть в теме и мы их трогать не будем. Соответственно менять можно (точнее создавать у себя в теме и использовать) любые из первых 4, я советую – buddypress.php. Весь контент сети будет вставляться внутрь этого файла, потому правильным можно считать копирование в него содержимого файла page.php.

Такой подход удобен, когда вы хотите, чтобы все ваши ВР страницы выглядели одинаково по сравнению с друг с другом, но отличались от основного сайта. Но что, если вам надо, чтобы профиль значительно отличался от страницы одной группы? Чтобы навигация была в одном случае горизонтальная, а в другом – вертикальная?

Вот именно такую проблему и решает версия BuddyPress 1.8. Добро пожаловать в иерархию страниц BP.

3. Иерархия страниц

Так как типов страниц в BuddyPress не мало, то и возможностей у нас тоже не мало. Если ВР не найдет файл, указанный в одном из пунктов ниже, то он будет искать файлы, указанный в пункте 2 (вверху этой страницы). Если вы будете помнить это, то сэкономите мне кучу сил :). Также указания шаблонов страниц ниже представлены по убыванию их важности, то есть сначала ВР ищет первые в списке, и дальше спускается вниз.

Дефолтное содержимое указанных шаблонов вы можете найти в папке /wp-content/plugins/buddypress/bp-legacy/buddypress/. Глобально – вы можете скопировать себе эту папку, и вносить изменения там.

Приступим.

Каталог пользователей

/buddypress/members/index-directory.php

Страница одного пользователя

Например, мы находимся на странице
example.com/members/admin/activity/mentions/.

/buddypress/members/single/index-id-{id}.php // id = 1
/buddypress/members/single/index-nicename-{login}.php // login = admin
/buddypress/members/single/index-action-{action}.php // action = activity
/buddypress/members/single/index.php

Каталог групп

/buddypress/groups/index-directory.php

Страница одной группы

Например, мы находимся на странице
example.com/groups/next/.

/buddypress/groups/single/index-id-{id}.php // id = 1
/buddypress/groups/single/index-slug-{slug}.php // login = next
/buddypress/groups/single/index-action-{action}.php // action = activity
/buddypress/groups/single/index.php

Страница создания группы

/buddypress/groups/index-create.php

Лента активности

/buddypress/activity/index-directory.php

Страница одного элемента активности

/buddypress/activity/single/index.php

Страница регистрации

/buddypress/members/index-register.php

Страница активации учетной записи

/buddypress/members/index-activate.php

Страница списка блогов (в случае WPMS)

/buddypress/blogs/index-directory.php

Страница создания сайта (в случае WPMS)

/buddypress/blogs/index-create.php

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

комментария 3

  1. Увы, но в статье устаревшие данные о структуре темы(

  2. vladchv:

    Да, структура действительна устарела. Если можно обновить, было бы круто. В любом случае спасибо, теперь знаю где рыть хотя бы)))

  1. 09.03.2014

    […] Вам надо перезаписать стандартный код BuddyPress для шаблона вывода списка элементов в ленте активности. Если вы не понимаете, как это все работает, прочитайте вот эту запись. […]

Добавить комментарий

Ваш адрес email не будет опубликован.