Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

_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.


$query_string string Required
$args_to_check array Required
$url string Required

Top ↑


string The altered query string

Top ↑


File: wp-includes/canonical.php. View all references

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;

Top ↑


Version Description
3.4.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.