Allowing WordPress from non-public address/domain

Firstly, you’re essentially setting up a mini web host at home. I wouldn’t advise this; aside from (potentially) being against your ISP’s terms and conditions, you also want to be really sure you’re not opening up security holes to your local machine.

Having said that, you just need to ensure that as well as listening on your local IP, Apache is also listening on your internal networked IP. Most likely it’s already doing this, and you can test it by visiting http://192.168.0.5 (replace with your internal IP) from another machine on your network (eg. a phone on wifi). This is also the IP you’d be putting into your router to forward port 80 traffic through.

Of course, this isn’t going to work with your vhosts, so if you’re hosting multiple sites on this machine, you’ll need to configure the site you want visible as the default site. Alternatively, you can grab a cheap domain from somewhere (that comes with DNS hosting) and set up an A record to point to your public IP. Then just add that domain as one of your vhosts!