На сервере нельзя получить ширину экрана потому что такие заголовки не отправляются. Можно по user-agent пытаться проверить мобильное устройство или нет, но учитывая что ширина у мобильного может быть и больше 768, то это ненадёжный метод. Ещё можно через js ставить куку с шириной экрана и проверять её на бекенде, но это не будет работать при первом заходе на сайт.
Так что возможным способом будет после загрузки сайта через js проверить ширину, если она меньше чем ваше условие, то сделать ajax запрос на бекенд, там вывести контент виджета сохранив его в переменную, вернуть этот контент в ответ на ajax вызов, и на фронтенде вставить содержимое виджета в нужное место.