multisite is the best way to do this unless you want to build your own version of multisite. it’s what multisite was made to do. what kind of limitations/overhead/unintended consequences are you running into?
Dohman, thanks for the response but with all due respect I don’t want this post to turn into a discussion on the merits of MS.. can someone address the question instead. Thank you..
In order to simplify theme updates/reduce disk space/etc., I’d like all sites to read one set of the theme files from one location on the server..
This would be done with a symlink. It’s not WP specific at all.
(I know people keep suggesting multisite, because this is what it does out of the box – one copy of all files, WP, plugins and themes, one update for all of them, multiple domains possible.)
But you can use symlinks if you really want.
Somewhere out there Mark Jaquith posted how he did it without Multisite, so he had one location and separate DBs. It’s pre-cofffee, so I can’t find it. I have this memory that some plugins aren’t very symlink happy, though.
I will say this: If you are NEW to WordPress, neither symlinks nor Multisite are particularly newbie friendly. And if you’re a newbie to web dev (which I cannot tell either way based on your posts), you’ll get more help from Multisite, cause more of us use it than homegrown stuff 🙂
So yeah, we do tend to steer you towards something we know you have more of a help-base from. After all, you’re here asking us for help. Wouldn’t more be better?
Anyway, dohman’s question of “what limitations/overhead/unintended consequences of MultiSite don’t you like?” is valid BECAUSE it tells us WHAT ELSE not to suggest for you 🙂 What if the overhead for symlinks was similar in a specific way? Dun. Dun Dun.
How about using a regular single site install, but doing a URL check in the admin panel and specifying the same WP_CONTENT_DIR for each site? This would of course allow ALL of the sites to use the same plugins AND themes. But it would work and do the task that you requested. But if you don’t want them all having access to everything then that wouldn’t work terribly well.
An even better solution, but which suffers the same problems, is to do a URL check in wp-config.php and serve different database details depending on the site. This allows you to serve all your sites off of the one stack of files. This has numerous benefits, in particular for opcode caching as you don’t need to store opcodes for 100 lots of WordPress, just the one set of files you are using and when you update one site, the rest of them are updated. It’s almost like WordPress multisite, except you aren’t logged into all sites at once and there is no network admin.
If you really only need the theme to be used on each site, then Andrea’s symlink solution is best. But as was pointed out above, that has been known to cause problems for some people.