_remove_qs_args_if_not_in_url()WP 3.4.0

Removes arguments from a query string if they are not present in a URL DO NOT use this in plugin code.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

Хуков нет.

Возвращает

Строку. The altered query string

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

_remove_qs_args_if_not_in_url( $query_string, $args_to_check, $url );
$query_string(строка) (обязательный)
-
$args_to_check(массив) (обязательный)
-
$url(строка) (обязательный)
-

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

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

Код _remove_qs_args_if_not_in_url() WP 6.5.2

function _remove_qs_args_if_not_in_url( $query_string, array $args_to_check, $url ) {
	$parsed_url = parse_url( $url );

	if ( ! empty( $parsed_url['query'] ) ) {
		parse_str( $parsed_url['query'], $parsed_query );

		foreach ( $args_to_check as $qv ) {
			if ( ! isset( $parsed_query[ $qv ] ) ) {
				$query_string = remove_query_arg( $qv, $query_string );
			}
		}
	} else {
		$query_string = remove_query_arg( $args_to_check, $query_string );
	}

	return $query_string;
}