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 )

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

Description Description

Parameters Parameters


(string) (Required)


(array) (Required)


(string) (Required)

Top ↑

Return Return

(string) The altered query string

Top ↑

Source Source

File: wp-includes/canonical.php

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 ↑

Changelog Changelog

Version Description
3.4.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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