Хак: делаем социальную сеть требующей регистрации

4 дня ничего нового не публиковал, потому что работал над менеджером задач для новой платформы, да и дома меня, собственно, тоже почти не было :)

Возвращаемся к . Сегодня нашел интересный (props Escamillaweb.com) для вашей социальной сети, которые еще на один шаг приблизит вас к Вконтакте. В чем особенность Вконтакте? Всю информацию видит лишь зарегистрированный и авторизованный пользовать. Если он не зарегистрирован и не зашел в свой аккаунт, то всей активности сайта, да и вообще всего сайта, он не видит. Если вы вставите вот этот :

function hidden_network() {
global $bp;
if( bp_is_register_page() || bp_is_activation_page() )
return;
if( ! bp_is_blog_page() && ! is_user_logged_in() )
bp_core_redirect( $bp->root_domain .'/'. BP_REGISTER_SLUG );
}
add_action( 'get_header', 'hidden_network' );

то при попытке перейти на любую страницу, созданную BuddyPress, пользователя будет перенаправлять на страницу регистрации. Но интересно то, что страницы, созданные (в том числе и основной) все равно будут видны не авторизованным - на них вы сможете рассказать, почему им все-таки стоит зарегистрироваться и что это им даст. Так и хочется сказать на английском: It’s so sweet :)

Но и это еще не все! Если же вы хотите стать абсолютно закрытым сообществом, чтобы никто не мог ничего просматривать, то вам надо вставить вот этот код:

function hidden_network() {
global $bp;
if( bp_is_register_page() || bp_is_activation_page() )
return;
if( ! is_user_logged_in() )
bp_core_redirect( $bp->root_domain .'/'. BP_REGISTER_SLUG );
}
add_action( 'get_header', 'hidden_network' );

и тогда будет закрыта от неавторизованных даже главная страница (включая и все остальное).

В случае применения любого из этих хаков вся навигация будет видна (хоть и недоступна), шаблон не разламывается. И кстати, код надо вставлять в файл function.php вашего шаблона!


Пожалуйста, подождите. Комментарии загружаются.
Открыть Нечто !