Когда BuddyPress 1.7 был выпущен в апреле 2013 года, одной из самых ожидаемых его возможностей была совместимость с темами WordPress. Это стало важной вехой для всей истории BuddyPress и означало, что больше не нужно разыскивать темы, разработанные именно под BuddyPress. До версии 1.7 использование плагина зависело от наличия BP-поддерживаемой темы. Разработчикам пришлось немного поработать над разметкой тем и CSS-стилями, чтобы реализовать совместимость с BuddyPress.
Страница о BuddyPress 1.7 включает в себя «декларацию независимости (темы)», из которой следует, что BuddyPress теперь совместим со всеми WordPress-темами:
Эти изменения сделали BuddyPress более отвечающим тому, как WordPress загружает шаблоны. BuddyPress функционирует практически как bbPress – вы можете просто закинуть плагин на свой сайт и он примет вид вашей активной темы. Поскольку появилась совместимость с темами, можно было подумать, что их авторам больше не нужно предпринимать какие-то действия, чтобы темы были совместимы с BuddyPress. Действительно, разве не все темы являются совместимыми?
Не все темы используют загрузчик шаблонов WordPress
Реальность такова, что не все темы WordPress используют установленный подход загрузки шаблонов, как это было описано Boone в ответе на недавний тикет в теме.
Ведущий разработчик BuddyPress Джон Джеймс Джейкоби прокомментировал связанный тред, указывая, что BuddyPress не может гарантировать поддержку фреймворков тем, которые заменяют загрузчик шаблоном своим собственным загрузчиком:
«До 1.9 мы намеренно шли неверным путем ради максимальной совместимости. В 1.9 мы исправили некоторые вещи, которые теперь раскрывают фатальные недостатки в некоторых темах. Я обеспокоен, однако я считаю, что это относится уже к авторам тем – они должны определить свой уровень совместимости плагинов, а не наоборот. Авторы темы не должны ждать, что каждый плагин будет адаптироваться к их проприетарной системе вывода».
Обновления, сделанные в Buddypress 1.9, коснулись вызова bp_buffer_template_part() – теперь происходит возврат функции (return) вместо простого echo-вывода, что привело к некоторым проблемам с темами, когда пользователи начали обновляться от 1.8 до 1.9. Откат обратно ради совместимости с темами – не самый лучший выбор.
К счастью, разработчик BuddyPress @r-a-y отправил потенциальный фикс, который был отправлен в транк этим утром. Данный патч может быть полезен для сайтов, где требуется непосредственное исправление. Надеемся, что мы увидим эти изменения в ближайшем минорном релизе.
Обеспечение совместимости с основными плагинами
Небольшие исправления, как описанное выше, могут не справиться со всеми проблемами несовместимости тем, поскольку существуют некоторые супер-сложные темы WordPress, использующие свои собственные нестандартные системы шаблонов. Поскольку коммерческие темы не публикуют свой код, покупателю никак не узнать, какой движок шаблонов используется у них «под капотом».
Поэтому было бы полезно, если бы авторы тем сами бы обеспечивали совместимость своих тем с BuddyPress. Убедиться в том, что ваша тема является совместимой с BuddyPress, стало в разы проще, чем это было раньше — в частности, если вы используете стандартную систему загрузки шаблонов WordPress. Во многих случаях тема уже будет совместимой, и вам понадобится лишь провести небольшие тесты, чтобы подтвердить это. Также не повредило бы протестировать тему с разными плагинами, у которых имеются обширные базы пользователей — bbPress, WooCommerce, Easy Digital Downloads и т.д.
Вывод: плагины просто не могут поддерживать все WP-темы, вне зависимости от того, насколько популярной является тема или фреймворк. Рабочая группа BuddyPress делает все возможное, чтобы оказать посильную помощь в поддержании совместимости, продолжая продвигать BuddyPress, однако эти люди все равно не смогут отчитаться за все существующие темы.
Поскольку автором тем все равно никак не заставить проверять совместимость своих решений с основными WordPress-плагинами, ответственность, как всегда, падает на покупателя. Если вы хотите приобрести WP-тему с намерением использовать ее для BuddyPress или bbPress, либо с каким-нибудь другим плагином, обязательно спросите у ее разработчиков, реализована ли в теме совместимость с нужными вам плагинами. В итоге это спасет ваши деньги и нервы.
Источник: wptavern.com