WordPress is a little odd in how it handles graphics and layout.
For some historic reason, images have the IP address of the server embedded in the database rather than using a reference to their location from the root / index page.
The reason you are not seeing them is that your browser is being told to load the image etc from the local address but as you are external to the network you cannot get to it so the page comes out wrong
What makes it worse is if you name your site with a domain name that gets embedded so it’s a pain to move sites from one domain to another.
Fixing this is a bit of a pain and depends how much work you have done. Starting afresh is simplest if you only have the basic theme but I’ll assume you have lots of bits done
Read all before starting any steps.
1) Set yourself up with a domain name - any host will be fine even a free one and you do not need any website or email service
2) Set the domain up to point at your IP address. If you have dynamic IP use a service to keep the domain pointing to you. Check your router, it may support this for you else you will need to run the client software on a computer in the network
3) Check Apache has the rewrite module installed and has the rewrite rules for WordPress set up in .htaccess
4) Load and run https://github.com/interconnectit/Search-Replace-DB
and change the old internal IP address to the new domain
5) Set Apache up to use the new domain as the site
6) Restart Apache and you should not need the backup you took at the start. You did take one did not you
That’s not a quick job and it’s a very short summary of each step. Have a read over it and shout if you get stuck THOUGH you will find lots of articles on the web and you may do best to join one of the WP forums as this is a application issue rather than a Pi one - personally I do not mind and will keep an eye on this thread.
Need Pi spray - these things are breeding in my house...