## FORCE_SSL_ADMIN() │ WP 2.6.0
### Что такое FORCE_SSL_ADMIN?
Функция FORCE_SSL_ADMIN()
позволяет установить обязательное использование SSL (защищённый протокол передачи данных) для экранов администрирования в WordPress. Это означает, что при включении этой функции администраторы будут уверены, что все их соединения с сайтом защищены.
### Используется в
Эта функция используется в функции set_url_scheme()
.
### Нет хуков
Для этой функции не предусмотрены хуки.
### Возвращаемое значение
Функция возвращает true
или false
. Если SSL принудительно включён, то возвращается true
, в противном случае — false
.
### Применение
Функция вызывается следующим образом:
```php
force_ssl_admin( $force );
где $force
— это логическое значение (или строка, указывающая на true/false), которое определяет, следует ли принудительно использовать SSL на экранах администрирования. По умолчанию — null
.
Примеры использования
Пример 1: Изменение возвращаемого значения
force_ssl_admin( true );
if ( force_ssl_admin() )
echo 'Администратор должен использовать SSL';
else
echo 'Этот код никогда не выполнится';
force_ssl_admin( false );
if ( force_ssl_admin() )
echo 'Этот код никогда не выполнится';
else
echo 'Административная область НЕ должна использовать SSL';
Прим��р 2: Принудительный редирект на HTTPS
Этот пример показывает, как перенаправить текущую страницу на HTTPS, если используется протокол HTTP:
if ( force_ssl_admin() && ! is_ssl() ) {
if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit;
} else {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
exit;
}
}
Пример 3: Сброс настроек к значениям по умолчанию
force_ssl_admin( FORCE_SSL_ADMIN );
История изменений
- С версии 2.6.0 — функция была введена.
Как работает FORCE_SSL_ADMIN?
В коде функции FORCE_SSL_ADMIN
создается статическая переменная $forced
, которая хранит информацию о том, принудителен ли SSL:
function force_ssl_admin( $force = null ) {
static $forced = false;
if ( ! is_null( $force ) ) {
$old_forced = $forced;
$forced = $force;
return $old_forced;
}
return $forced;
}
Если параметр $force
задаётся, он меняет значение переменной $forced
и возвращает старое значение. Если параметр не задан, функция просто возвращает текущее значение $forced
.
Связанные функции
set_url_scheme()