Get something like Httrack or Webget and grab the site, or the parts you want.
You can also just take the theme files, replace the PHP function calls with static text, and basically copy and paste the various files into complete html files. For example, header.php and footer.php would need to be pasted into every static file (unless you can use server side includes). That is the advantage of crawling the site. The crawler will build these many pages for you.
Why are you trying to make a static page? Those things are hell to maintain. Is it possible to keep minimal PHP just to include headers and such?
I am looking to do this myself for an ex-client who is transferring his hosting elsewhere. I have given him a copy of the database and have offered a static copy of the site. Unfortunately, I am having problems with the static part.
Can’t you just view the page in a browser, copy the source and download the style sheets?
Sadly no, there are over 100 pages and there is some javascript used, I have tried many caching plugins but not quite right. I have just found Really Static and am trying that.