WordPress как на ладони
wordpress jino

force_ssl_admin() WP 2.6.0

Используется ли принудительное переключение на SSL в админ-панели.

Также функция позволяет включить/выключить принудительное использование SSL для админ части WordPress.

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

Функция используется в проверках различных функций в админке, и если, например, вызвать её с аргументом так: force_ssl_admin(false), то этот вызов запоминается и при следующем обращении к ней она вернет false.

Используется в: set_url_scheme().

Хуков нет.

Возвращает

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

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

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

Примеры

#1 Принудительное перенаправление на https, если force_ssl_admin() равно true

Редирект текущей страницы на 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;
	}
}

#2 Изменение возвращаемого значения

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 Сброс прежних установок

force_ssl_admin( FORCE_SSL_ADMIN );

Код force ssl admin: wp-includes/functions.php VER 4.9.1

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

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

	return $forced;
}

Cвязанные функции

Из метки: ssl

force_ssl_admin 2 комментария
  • Игорь @

    Здравствуйте.
    Помогите решить проблему. Был сайт на https. Мы его перенесли на другой хост, но сертификата SSL нет. На старом хосте он был привязан к серверу (давали бесплатный). Теперь, когда сайт уже не работает и нет возможности зайти в админку и там что-либо поправить, мы не можем зайти на сайт, потому что ответ должен быть с https, а его нет и не будет. Вопрос: как через FTP найти где и что нужно поправить, чтобы сайт заработал? Если короче: как выключить SSL без админки?

    • Kama4697

      Наверное в .htaccess установлен редирект. Удали его и зайдешь... Можно вообще сам .htaccess переименовать. Если не поможет, то ищи код в теме, наверное туда сунули... Выглядеть он может по-разному, пробуй искать is_ssl(), https и тд.

Здравствуйте, !

Ваш комментарий
Предпросмотр