_remove_qs_args_if_not_in_url

The timeline below displays how wordpress function _remove_qs_args_if_not_in_url has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.5

/**
 * Removes arguments from a query string if they are not present in a URL
 * DO NOT use this in plugin code.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string $query_string
 * @param array  $args_to_check
 * @param string $url
 * @return string The altered query string
 */
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;
}

WordPress Version: 4.1

/**
 * Removes arguments from a query string if they are not present in a URL
 * DO NOT use this in plugin code.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string $query_string
 * @param array $args_to_check
 * @param string $url
 * @return string The altered query string
 */
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;
}

WordPress Version: 3.9

/**
 * Removes arguments from a query string if they are not present in a URL
 * DO NOT use this in plugin code.
 *
 * @since 3.4.0
 * @access private
 *
 * @return string The altered query string
 */
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;
}

WordPress Version: 3.7

/**
 * Removes arguments from a query string if they are not present in a URL
 * DO NOT use this in plugin code.
 *
 * @since 3.4
 * @access private
 *
 * @return string The altered query string
 */
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;
}