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

wp_reset_vars()WP 2.0.0

Устанавливает указанные переменные как глобальные (global), если они указаны в $_GET / $_POST запросе.

Устанавливает указанную глобальную переменную. В значение ставится (в зависимости от того что первое будет в наличии):

  • $_POST[ переменная ]
  • или $_GET[ переменная ]
  • или '' (пустая строка).

Хуков нет.

Возвращает

null. Ничего.

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

wp_reset_vars( $vars );
$vars(массив) (обязательный)
Массив названий переменных, которые нужно установить/переопределить.

Примеры

0

#1 Демонстрация

Допустим мы заранее не знаем где именно в $_GET или $_POST запросе передается переменная foo со значением bar. Нам нужно установить эту переменную в глобальную, если такая переменная передана в запросе:

wp_reset_vars( array('foo') );

/*
В результате:

Если была передана переменная в $_POST['foo'] то global $foo будет равна 'bar'

Если была передана переменная в $_GET['foo'] то global $foo будет равна 'bar'

Если не была передана ни одна переменная то global $foo будет равна ''
*/

Точно также можно указать сразу несколько переменных:

wp_reset_vars( array('foo', 'foo2') );

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

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

Код wp_reset_vars() WP 6.5.2

function wp_reset_vars( $vars ) {
	foreach ( $vars as $var ) {
		if ( empty( $_POST[ $var ] ) ) {
			if ( empty( $_GET[ $var ] ) ) {
				$GLOBALS[ $var ] = '';
			} else {
				$GLOBALS[ $var ] = $_GET[ $var ];
			}
		} else {
			$GLOBALS[ $var ] = $_POST[ $var ];
		}
	}
}
1 комментарий
    Войти