Make WordPress Core

Ticket #20528: 20528.diff

File 20528.diff, 885 bytes (added by duck_, 13 years ago)
  • wp-includes/canonical.php

     
    448448 */
    449449function _remove_qs_args_if_not_in_url( $query_string, Array $args_to_check, $url ) {
    450450        $parsed_url = @parse_url( $url );
    451         parse_str( $parsed_url['query'], $parsed_query );
    452         foreach ( $args_to_check as $qv ) {
    453                 if ( !isset( $parsed_query[$qv] ) )
    454                         $query_string = remove_query_arg( $qv, $query_string );
     451        if ( ! empty( $parsed_url['query'] ) ) {
     452                parse_str( $parsed_url['query'], $parsed_query );
     453                foreach ( $args_to_check as $qv ) {
     454                        if ( !isset( $parsed_query[$qv] ) )
     455                                $query_string = remove_query_arg( $qv, $query_string );
     456                }
     457        } else {
     458                $query_string = remove_query_arg( $args_to_check, $query_string );
    455459        }
    456460        return $query_string;
    457461}