Если вы уже установили WordPress MU и BuddyPress, то пора подумать о настройке. Вам надо определиться с тем, как будет выглядеть ваша социальная сеть, каков будет ее функционал. И часто может возникать ситуация, что некоторые элементы вы просто не знаете, как изменить.
Представляю вам список мини хаков, которые могут быть вам полезны для уникализации вашей социальной сети. Все вставляется в файл wp-config.php после строки определение префикса базы и ДО строки подключения wp-settings.php.
1. Если вы установили сразу BuddyPress версии 1.1 и выше, то есть не переходили с 1.0 на более новую версию, то резонно возникает вопрос – зачем вам загружать тот код, которые оставлен в движке для режима совместимости с 1.0? Это увеличивает нагрузку и потребление памяти. Правильно, вам это ни к чему. Поэтому отключаем его вот такой строкой кода:
define ( ‘BP_IGNORE_DEPRECATED’, true );
2. Если вы хотите использовать функции и/или виджеты BuddyPress не только на главном сайте, то вам надо его (BP) включить для всех блогов внутри вашей сети:
define ( ‘BP_ENABLE_MULTIBLOG’, true );
Но осторожно, включение данной возможности увеличивает потребление памяти на всех внутренних блогах, и если их много и они активны, то это может привести к неприятным последствиям.
3. Предположим, у вас установлен WPMU по-человечески, то есть все блоги создается в поддоменах (blog.example.com). В этом случает вы можете здорово улучшить url ссылки до профиля пользователя, убрав из этого адреса слово “members”, т.е. получите ссылку вида: demo.cosydale.com/admin вместо demo.cosydale.com/members/admin.
define ( ‘BP_ENABLE_ROOT_PROFILES’, true );
Но будьте внимательны – не используйте этот хак, если у вас блоги создаются в режиме поддиректорий! Иначе будет путаница с путями и при попытке попасть на страницу пользователя вы будете попадать на его блог.
4. Про использование в качестве главного сайта не основной домен, а какой-нибудь поддомен (social.example.org) я уже писал вам вот в этой записи: Альтернативный вариант установки BuddyPress.
5. Вам не нравится BuddyBar или вы считаете его бесполезным? Тогда отключите его для всего сайта и всех блогов!
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
Можно пойти еще дальше: если вы редактируете его, меняете стили или расположение блоков, то пользователям не обязательно видеть, что он временами совершенно случайно будет разваливаться :) Поэтому вы можете вставить вот такой код:
if ( !is_site_admin() )
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
Этот код проверяет, является ли пользователи на сайте админом, и если нет – но отключает BuddyBar, если вы админ – то оставляет его включенным.
6. Если вам нравится фишка с логином в гугл-mail, где вы можете иметь точку и имени (что-то вроде cd.slaFFik), то тогда вам надо включить поддержку LDAP:
После включения, при регистрации пользователи смогут делать свои логины (которые являются частью пути к странице их профиля) с точкой внутри.
7. Теперь начинается рок-н-рол ;) Вы можете менять вид ссылок в том или ином компоненте. Пример: в шаблоне вы указали текст ссылки Группы как Сообщества, но ведь в url все равно остались groups… Поэтому вы прописываете:
И отныне у вас поменялся вид ссылок. Это еще неплохой способ визуальной маскировки вашего движка и возможность в будущем защиты от бестолковых регистраций ботов, которые будут привязаны к стандартному пути.
Если вы не хотите что-то менять, просто удалите соответствующую строку.
8. И последний пункт сегодняшней порции хаков – меняем размер аватаров. Меня кто-то спрашивал в комментариях про это, вот вам мой ответ :)
Выбираете тот, который вам нужно поменять, и вставляете в файл wp-config.php. Остальные просто игнорируете. Последние 2 строки позволяют вам настроить стандартный аватар – вы можете поменять его на свой, для этого вместо $img_url прописываете в кавычках путь к вашему собственному рисунку.
PS Следите за тем, какие кавычки вы использовали: они должны быть английскими одинарными (те, что вставляются в английской раскладке клавы по нажатию на русскую букву “Э”)
С кавычками всё нормально. Я же говорю, что если убрать if ( !is_site_admin() ) то всё нормально. ошибка в этой строчке. Я где то встречал такую конструкцию – if ( !is_super_admin() ) но при её использовании админбар вобще не отключается ни у кого.
Тоже самое, с условием
if ( !is_site_admin() )
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
На сайт не заходит, ругается:
Fatal error: Call to undefined function is_site_admin() in Z:\home\e-svfu.ru\www\wp-config.php on line 39
А если убрать if
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
, то на сайт заходит, но баддиба все равно остается.
Поставил строчку сразу после определеемя префикса, с кавычками все нормально.
Установлены WordPress Multisite 3.2.1 без доменов (папки) и BuddyPress 1.5.1 Проблема с отображением аватаров – на главном сайте нормально, на других сайтах загруженный аватар заменяется на автоматически генерируемый.
А вот это уже проблемы с путями. С ходу сказать не могу – проверьте, какие url к рисунку на блогах. Если не совпадают с теми, что на главной сайте – пытайтесь выяснить, почему так.
4 февраля 2011 в 9:39
if ( !is_site_admin() )
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
Данная конструкция не работает.
Проверьте правильность кода.
4 февраля 2011 в 9:39
Точнее в данном случае ругается на условие.
4 февраля 2011 в 10:23
Проверьте кавычки. Должны быть использованы английские одинарные. Итого:
if ( !is_site_admin() )define ( 'BP_DISABLE_ADMIN_BAR', true );
4 февраля 2011 в 10:28
С кавычками всё нормально. Я же говорю, что если убрать if ( !is_site_admin() ) то всё нормально. ошибка в этой строчке. Я где то встречал такую конструкцию – if ( !is_super_admin() ) но при её использовании админбар вобще не отключается ни у кого.
4 февраля 2011 в 10:19
А вы где прописали этот код? Конструкция удаляет для не-админов.
4 февраля 2011 в 10:21
Код прописывал, как и сказано выше, в config.php . После вставки с условием – на сайт вобще не заходит, но без условия всё работает.
9 мая 2011 в 6:46
Тоже самое, с условием
if ( !is_site_admin() )
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
На сайт не заходит, ругается:
Fatal error: Call to undefined function is_site_admin() in Z:\home\e-svfu.ru\www\wp-config.php on line 39
А если убрать if
define ( ‘BP_DISABLE_ADMIN_BAR’, true );
, то на сайт заходит, но баддиба все равно остается.
Поставил строчку сразу после определеемя префикса, с кавычками все нормально.
29 ноября 2011 в 11:36
Установлены WordPress Multisite 3.2.1 без доменов (папки) и BuddyPress 1.5.1 Проблема с отображением аватаров – на главном сайте нормально, на других сайтах загруженный аватар заменяется на автоматически генерируемый.
Подскажите, пожалуйста, как решить проблему.
29 ноября 2011 в 11:42
с группами такая же история, как и с пользователями
29 ноября 2011 в 12:47
А вот это уже проблемы с путями. С ходу сказать не могу – проверьте, какие url к рисунку на блогах. Если не совпадают с теми, что на главной сайте – пытайтесь выяснить, почему так.
29 ноября 2011 в 14:37
Картинки разные, пути не совпадают.
Подскажите в какую сторону рыть?
29 ноября 2011 в 12:44
На других сайтах используется не стандартная тема BuddyPress? Если нет, проверьте, чтобы функция вызова аватара пользователей везде была одинакова.
23 декабря 2011 в 19:53
странно сколько не пробовал , делал все как описано нечего не получилось
в частности как аватарки по умолчанию изменить ?
define ( ‘BP_AVATAR_DEFAULT’, $img_url );
define ( ‘BP_AVATAR_DEAFULT_THUMB’, $img_url );
не работает
23 декабря 2011 в 20:48
Куда вы этот код вставляли?
Попробуйте в wp-config.php
12 января 2012 в 15:55
Подскажите.
Как в новой версии WordPress 3.3.1 вкюлючить режим LDAP
define( ‘BP_ENABLE_USERNAME_COMPATIBILITY_MODE’, true );
С уважение, Alex/