It’s not a core behaviour to overwrite the global $_GET array, which means it’s likely that something else then WordPress itself is the issue here.
I would suggest the following steps to debug the issue:
- Disable all active plugins and revert to standard theme, see if the problem persists.
- If the problem is still there, open the
index.php
in your document root and writevar_dump($_GET); exit();
in the first line to see if the variable is making it through the webserver. If it isn’t showing up now, it means that it is filtered for some reason by the webserver (i.e. bad .htaccess rule, or conflicting mod_security rule).