2016-01-06 1 views
0

Есть ли способ только авторизовать зарегистрированного пользователя, чтобы увидеть весь сайт Wordpress без плагина?Есть ли способ авторизовать зарегистрированного пользователя, чтобы увидеть весь сайт Wordpress без плагина?

Моя цель - увидеть страницу входа в систему, если вы не вошли в систему или не зарегистрировались.

я обнаружил, что на другую должность:

<?php if(!is_user_logged_in()){wp_redirect('http://www.your-blog.com/wp-login'); exit;}?> 

Уит это решение я должен положить сверху от всех моих страниц. Есть ли способ разместить только один код oof в функции functions.php, чтобы получить те же результаты?

Заранее спасибо.

+0

Я думаю, вы должны использовать этот код только в header.php, не нужно размещать все страницы. он по умолчанию будет вызываться на всех страницах, если вы поместите заголовок. –

+0

@HelpingHands, эта логика должна идти в * functions.php * – rnevius

+0

@mevius - я вижу ... –

ответ

0

Вставьте ниже код в файл functions.php текущей темы.

add_action('muplugins_loaded', 'my_plugin_override'); 

function my_plugin_override() { 
    if(!is_user_logged_in()){ 
     wp_redirect('http://www.your-blog.com/wp-login'); 
     exit; 
    } 
} 

muplugins_loaded является самым ранним действие крюка.

Для более dfetails проверки - https://wordpress.stackexchange.com/questions/162862/how-to-get-wordpress-hook-run-sequence

+0

Просто используйте 'wp_redirect (wp_login_url())' вместо жесткого кодирования пути сайта. – naththedeveloper

+0

Здравствуйте, спасибо за ваш ответ. Я пробовал этот кусок кода: 'add_action ('muplugins_loaded', 'my_plugin_override'); function my_plugin_override() { if (! Is_user_logged_in()) { wp_redirect (wp_login_url()); выход; } } ' Но сайт все еще отображается и не перенаправляется на мою страницу входа. Любая идея, почему? Спасибо за ваше время. – Ceyar

+0

@ Dan, Где (в каком файле) вы положили этот код? – Milap

0

Добавление этого к концу моей functions.php не делает трюк:

add_action('muplugins_loaded', 'my_plugin_override'); 

function my_plugin_override() { 
    if(!is_user_logged_in()){ 
     wp_redirect(wp_login_url()); 
     exit; 
    } 
} 

Не знаю, почему, любая идея? Я нашел плагин, который сделал трюк, но я хочу попытаться понять, как заставить его работать без плагина с простым решением.

Thank you

Смежные вопросы