Как сделать правильный редирект при переходе с ПС?
Во первых это можно сделать проще как мне кажется.
Во вторых сделайте print_r ($_SERVER), request_uri не может быть пустой никогда.if( !isset($_SESSION['version']) && wp_is_mobile()) {
	$_SESSION['version'] = 'mobile';
	wp_redirect( $_SERVER['REQUEST_URI']  );
	exit;
}
REQUEST_URI передаётся всегда, его не может не быть.
Проблема может быть в том, что вы не поставили кавычки $_SERVER[REQUEST_URI], и выражение в скобках воспринимается как константа, и выскакивает ошибка уровня NOTICE.
Попробуйте такой код:if( !isset($_SESSION['version']) && wp_is_mobile()) {
   wp_redirect( $_SERVER['REQUEST_URI'] . '?version=mobile' ); 
   exit;
}