If it were me, then the simplest way would be –
Move / reinstall WordPress in /blog/
Create a seperate PHP page (outside of WordPress) and use
require_once('./blog/wp-blog-header.php');
in the PHP code to get access to WordPress functions.
Display whichever page you want using the WordPress functions (this page gives an example.)
That way you don’t have to faff about with static pages and your /blog/ can always have recent stuff on it.
I got this far, but I have an issue with nav links – the page I set as the first page (Welcome) is showing up in root, but there are two nav links showing – Home and Welcome. These are the same page. How can I make them *one*?
How do I set Home=Welcome?
Thanks for the advice, mrmist. Does anyone have a suggestion for something that doesn’t require going “outside” of WordPress? I’d really like to keep things as simple as possible from that side of things: i.e. have all the content generated by WordPress and not have to manually edit external pages.
… I must be misunderstanding the question or something, because this sort of functionality is already built into WordPress.
-Install WP in the root.
-Make two new Pages in WP. One will be your static home page (give it any old name), the other will be the page where the blog shows up (name it Blog, make sure it has a slug of “blog”). The blog Page does not need any actual content, it just needs to exist.
-Settings->Reading. Set your static page to the Front and the “blog” page to the Posts.
-Done and done.
Thank you! That’s exactly what I wanted to know how to do.
Me again… okay, so whenever we upload and install a plugin, the directory “/blog/wp-content/uploads” gets created in the site root, which of course screws up the setup described above.
I assume this is an artifact of me moving the blog from domain.com/blog to domain.com/ and forgetting a step or something. Is there some way I can correct this? Otherwise the site is working fine.