Функция force_ssl_admin()
определяет, следует ли принудительно использовать SSL (HTTPS) для администраторской панели WordPress. Это важно для обеспечения безопасности при доступе к админке, так как SSL защищает данные, передаваемые между браузером и сервером.
Эта функция обычно управляется константой FORCE_SSL_ADMIN
, которая устанавливается в файле wp-config.php
. Однако функцию можно использовать и динамически для изменения настройки SSL внутри самого кода.
force_ssl_admin( string|bool $force = null ): bool
Параметры
$force
(строка | логический, необязательный): Параметр, указывающий, нужно ли принудительно использовать SSL для админки. Если переданtrue
, то SSL будет обязательным, если переданfalse
— SSL не будет использоваться. По умолчанию:null
, что означает использование значения, установленного вwp-config.php
.
Возвращаемое значение
true
— если принудительное использование SSL включено.false
— если SSL не принудительно.
Пример 1: Проверка, используется ли SSL для админки
Этот код проверяет, включено ли принудительное использование SSL для панели администратора.
if ( force_ssl_admin() ) {
echo 'Админка должна использовать SSL';
} else {
echo 'Админка может работать без SSL';
}
Пример 2: Динамическое изменение использования SSL
В этом примере мы сначала включаем принудительное использование SSL для админки, а затем выключаем его.
force_ssl_admin(true);
if ( force_ssl_admin() ) {
echo 'Администрация сайта должна выполняться через SSL';
} else {
echo 'Этот код никогда не будет выполнен';
}
force_ssl_admin(false);
if ( force_ssl_admin() ) {
echo 'Этот код никогда не будет выполнен';
} else {
echo 'Админка НЕ должна использовать SSL';
}
Пример 3: Принудительное перенаправление на 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;
}
}
Пример 4: Сброс настроек на значение по умолчанию
Этот код сбрасывает принудительное использование SSL на настройку, заданную в файле wp-config.php
с помощью константы FORCE_SSL_ADMIN
.
force_ssl_admin(FORCE_SSL_ADMIN);
Особенности
- Pluggable-функция: Это означает, что её можно переопределить в плагинах или теме. Если функция не была заменена, то используется её стандартная реализация.
- Константа
FORCE_SSL_ADMIN
: Главным образом, функция полагается на значение этой константы, которое задаётся в файле конфигурации WordPress.
Заключение
Функция force_ssl_admin()
— это полезный инструмент для повышения безопасности админ-панели WordPress. С её помощью можно легко принудительно включить или отключить использование SSL для админки, что особенно важно при работе с конфиденциальной информацией на сайте.