W3cubDocs

/WordPress

_remove_qs_args_if_not_in_url( string $query_string, array $args_to_check, string $url ): string

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

Parameters

$query_stringstringrequired
$args_to_checkarrayrequired
$urlstringrequired

Return

string The altered query string

Source

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;
}

Changelog

Version Description
3.4.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/_remove_qs_args_if_not_in_url