WordPress — ограничение доступа к сайту, если нет аутентификации

WordPress — ограничение доступа к сайту, если нет аутентификации

Бывает нужно сделать так, чтобы доступ к сайту был ограничен и только по паролю.

В WP это делается очень просто:

[php]

<?php
/*
Plugin Name: Need Authentication
Plugin URI: http://casepress.org
Description: Restrict access for site without authentication.
Version: 1.0
*/

add_action(‘init’,’CheckAllow’);
function CheckAllow() {

$current_path = empty( $_SERVER["REQUEST_URI"] ) ? home_url() : $_SERVER["REQUEST_URI"];

if (! is_user_logged_in() && ! is_login() ){
wp_redirect( wp_login_url($current_path) );
exit;
}
}

function is_login() {
return in_array( $GLOBALS[‘pagenow’], array( ‘wp-login.php’, ‘wp-register.php’ ) );
}

[/php]

Основа идеи взята тут http://bavotasan.com/2013/private-site-plugin-for-wordpress/

Тут даны ценные рекомендации по техническим проблемам https://plus.google.com/117171684526082793963/posts/TafC566oW2e

Далее добавлен легкий штрих в виде учета изначального направления пользователя, чтобы при переадресации на страницу входа, не потерять цель посещения 🙂

Оформил этот сниппет в виде плагина https://github.com/casepress-studio/NeedAuthentication

Добавить комментарий

Закрыть меню
×

Корзина