wp_reset_vars

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

Функция сбрасывает указанную глобальную переменную, установив в нее значение $_POST[ переменная ], если его нет, то $_GET[ переменная ], если и его нет, то ''.

Хуков нет.

Возвращает

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

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

Примеры

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

Код из


wp-admin/includes/misc.php

WP 4.7.2

<?php
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 ];
		}
	}
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *