force_ssl_admin()WP 2.6.0

Определяет включено ли принудительное использование SSL (https) протокола для админ-панели. Позволяет включить/отключить SSL.

Также функция позволяет включить/отключить принудительное использование SSL для админ части WordPress. Например, если вызвать функцию с аргументом: force_ssl_admin(false), то этот вызов запоминается и при следующем обращении к ней она вернет false.

В функцию на раннем этапе передается значение константы FORCE_SSL_ADMIN, которая устанавливается в wp-config.php. На основе этой константы функция устанавливает, нужно ли принудительно использовать HTTPS протокол в админке.

Используется в других функциях для проверки SSL в админке.

Основа для: set_url_scheme()

Хуков нет.

Возвращает

true|false. True, если установлено принудительное использование SSL в админке. false в противном случае.

Использование

force_ssl_admin( $force );
$force(строка/логический)
Нужно ли установить принудительно использование SSL в админке.
По умолчанию: null

Примеры

1

#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';
0

#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;
	}
}
0

#3 Сброс установок на дефолтные

force_ssl_admin( FORCE_SSL_ADMIN );

Список изменений

С версии 2.6.0 Введена.

Код force_ssl_admin() WP 6.5.2

function force_ssl_admin( $force = null ) {
	static $forced = false;

	if ( ! is_null( $force ) ) {
		$old_forced = $forced;
		$forced     = $force;
		return $old_forced;
	}

	return $forced;
}