WordPress.org

Make WordPress Core

Ticket #4878: 4878.001.diff

File 4878.001.diff, 763 bytes (added by markjaquith, 7 years ago)

First try

  • wp-includes/functions.php

     
    644644                $qs[func_get_arg(0)] = func_get_arg(1); 
    645645        } 
    646646 
    647         foreach($qs as $k => $v) { 
    648                 if ( $v !== FALSE ) { 
    649                         if ( $ret != '' ) 
    650                                 $ret .= '&'; 
    651                         if ( empty($v) && !preg_match('|[?&]' . preg_quote($k, '|') . '=|', $query) ) 
    652                                 $ret .= $k; 
    653                         else 
    654                                 $ret .= "$k=$v"; 
    655                 } 
     647        foreach ( $qs as $k => $v ) { 
     648                if ( $v === false ) 
     649                        unset($qs[$k]); 
    656650        } 
     651 
     652        $ret = http_build_query($qs); 
    657653        $ret = trim($ret, '?'); 
     654        $ret = preg_replace('#=(&|$)#', '$1', $ret); 
    658655        $ret = $protocol . $base . $ret . $frag; 
    659656        $ret = rtrim($ret, '?'); 
    660657        return $ret;