How to postpone all notifications?
I have the same problem and I've only just started using this app called Offtime

It has everything you're looking for.
Just select how long you don't want to be disturbed and that's it. You can whitelist the apps you really need to access. Leave the Wi-Fi on. And it'll intercept all the other notifications and swipe them away and show you a summary once the session ends. 

Give it a shot and let me know if it works out for you.