Если вы не хотите, чтобы на ваш WordPress-сайт могли заходить посторонние посетители, например, во время разработки и настройки сайта, можно очень просто сделать сайт доступным только для зарегистрированных пользователей:
Достаточно добавить в файл темы header.php строки
if(!is_user_logged_in()) { auth_redirect(); }
Если посетитель не авторизован, функция WordPress auth_redirect() перенаправляет посетителя на страницу входа. (Здесь также нужна дополнительная проверка !is_user_logged_in(), иначе авторизация не работает .)
Если не хочется изменять код темы, можно создать плагин onlyregistered.php с коротенькой функцией:
<?php /* Plugin Name: Only Registered Plugin URI: http://mblogm.ru/blog/only-for-registered-users/ Description: Только для зарегистрированных пользователей Version: 1 Author: ... Author URI: http://mblogm.ru/ */ function onlyregistered_func() { if(!is_user_logged_in()) { auth_redirect(); } } add_action('get_header', 'onlyregistered_func'); ?>
Активируя и деактивируя этот плагин, вы сможете быстро открывать и закрывать сайт для незарегистрированных посетителей.
Нужно сказать, что на RSS-фиды сайта так повлиять нельзя, т.е. сайт будет закрыт не полностью.
Скриншоты для WordPress 4.0
Если посетитель не авторизован, функция WordPress auth_redirect() перенаправляет посетителя на страницу входа.
По ссылке "Регистрация" открывается форма регистрации:

Регистрация пройдена
так сам пароль какой? где-то же его надо задать
Пароль как обычно
Спасибо, то что искал. Поставил плагин на блог, очень удобно. Блог в подписи.
Здравствуйте! Долго искал этот код if(!is_user_logged_in()) {
auth_redirect();
}
Все хорошо . только ссылка регистрации неработает происходит редирект на строницу авторизации. Помогите решить эту проблему
auth_redirect() - это и есть редирект на строницу авторизации
Это я понял. что auth_redirect() это редирект на страницу авторизации .надо чтоб регистрация тоже работала , а то жму на зарегистрироваться ничего не происходит.Подскажите правильный код чтоб и регистрация тоже работала .
См. Описание функций, используемых при входе в систему блога на WordPress: http://mblogm.ru/wordpress-guide/wordpress-functions/login-logout/
Доброй ночи! Подскажите какой код мне прописать чтоб вместо сайта сначала загружалась страница авторизации вордпресс и только потом после авторизации или регистрации пользователь попадал на сайт.
auth_redirect() перенаправляет посетителя на стандартную страницу авторизации, и регистрация должна работать (у меня работает). Если не работает, нужно искать, в чем проблема: проверить на дефолтной теме и отключить все плагины. Регистрация разрешена на сайте (Настройки - Общие)?
Всем Добрый вечер! Взрыв мозга!!!
ставлю этот код :
if(!is_user_logged_in()) {
auth_redirect();
} В заголовок( header.php) менял темы , отключал плагины, регистрация у меня разрешена( каждый может заригится) , но регистрация так и не работает именно с этим кодом , если без кода все нормуль , но всё же хочется ,что бы перед тем как пользователь защёл на сам сайт , сначала стандартная страница авторизации , а уж потом сайт.
WordPress 4.0.1+BuddyPress 2.1.1
Если на чистом WordPress с дефолтной темой не работает, переустанавливай WordPress. Еще пишут, были проблемы с Buddypress:
>>Installed WP 4 and BP 2.1.1
Everything was working fine until I installed Buddypress ... now when a user clicks on register they do not get the registration page!<< - после установки Buddypress по щелчку на ссылке Регистрация не появляется страница регистрации. см. buddypress.org/support/topic/wpmu-require-login-to-view-any-part-of-site-but-allow-registration/ - рекомендован плагин Registered Users Only 2
ВСЯ ПРОБЛЕМА В Buddypress и плагины не помогают буду искать ключ к этой проблеме ... Если кто знает ответ напишите
Добрый вечер! Всех С Новым Годом!Вот и месяц прощол короче перепробовал почти наверно все плагины которые закрывают сайт от не зарегистрированных пользователей, и этот тоже Registered Users Only 2 ,но BuddyPress держит оборону или отключает автоматом регистрацую , как было при написании кода if(!is_user_logged_in()) {
auth_redirect();
} в header.php, Хочу поделиться безплатным хорошим плагином для закрытия сайта от незарегиных посетителей который нашел нечаянно Private4time у него всего два пункта настроек :
- включение режима закрытый сайт ( можно даже время выставить через сколько закрыть.если оставить по нулям то сайт закрывается сразу)
- и разрешить или запретить регистрацию
кому интересно тог скачать можно здесь private4time.blog-me.de/
Да и все же если кто сталкивался с Buddypress с закрытием сайта и чтоб при этом регистрация тоже работала напишите maximus08-76@mail.ru
Вот тестовый сайт http://mblogm.ru/buddypress/
регистрация работает - проверяй!
установлено два плагина: BuddyPress и BuddyPress Members only
При попытке зайти на страницы кроме главной пользователь перенаправляется на страницу, заданную в настройке плагина BuddyPress Members only - страницу регистрации
Большое тебе человеческое СПАСИБО!!!!! Все работает замечательно.
Да может кому пригодиться: вот этот код
add_filter("login_redirect","bpdev_redirect_to_profile",10,3);
function bpdev_redirect_to_profile($redirect_to_calculated,$redirect_url_specified,$user)
{
if(empty($redirect_to_calculated))
$redirect_to_calculated=admin_url();
/*if the user is not site admin,redirect to his/her profile*/
if(!is_site_admin($user->user_login))
return bp_core_get_user_domain($user->ID );
else
return $redirect_to_calculated; /*if site admin or not logged in,do not do anything much*/
}
вставляем в functions.php вашей темы сразу после
<?php после авторизации пользователь попадает на свой профиль в BuddyPress
И еще вот этот плагин BuddyPress cover для BuddyPress дает возможность в профиле так же как в фейсбуке над аватаром вставлять фоновую картинку.
Admin, спасибо за интересную статью! Подскажите, а как помимо всего этого сделать, чтобы файлы из медиабиблиотеки не отдавались по прямой ссылке неавторизованнмы пользователям?
Спасибо за отличный плагин!
Спасибо! Отличная статья
После включения плагина происходит такая ошибка Request-URI Too Long
The requested URL's length exceeds the capacity limit for this server,а в адресной строке длинющий адрес, что делать!?
Спасибо
Спасибо! Простое решение как всегда верное.
Отлично! То, что надо.