Вы можете получить параметры GET-запроса так:
if ( isset( $_GET['id'] ) ) {
	$id = $_GET['id'];
}
Безопаснее использовать для этого функцию 
get_query_var()
if ( get_query_var( 'id' ) ) {
	$id = get_query_var( 'id' );
}
Чтобы этот код сработал вам нужно зарегистрировать доступные параметры
add_filter( 'query_vars', 'add_my_var' );
function add_my_var( $public_query_vars ) {
	$public_query_vars[] = 'id';
	return $public_query_vars;
}
Все редиректы должны выполняться на хуке 
template_redirect с помощью функции 
wp_redirect() или 
wp_safe_redirect(). Разбираете ссылку, проверяете необходимые условия редиректа и собираете новую ссылку. Вот шаблон:
add_action( 'template_redirect', 'custom_template_redirect' );
function custom_template_redirect() {
	if ( $condition ) {
		wp_redirect( home_url( '/' ) );
		exit();
	}
}