Here's a shorter version of the accepted answer:
$url .= (parse_url($url, PHP_URL_QUERY) ? '&' : '?') . 'category=action';
Edit: as discussed in the accepted answer, this is flawed in that it doesn't check to see if category
already exists. A better solution would be to treat the $_GET
for what it is - an array - and use functions like in_array()
.