WordPress MU is a platform that allows you to host and manage multiple WordPress installations. It is used to power WordPress.com, among other sites.
The basic of WordPress MU is that the user registers and upon the click of a button, a blog is generated for him, available to use immediately.
The default blog that is generated is the most basic thing you can get. It uses the default Kubrick theme, no plugins or widgets, and a bit of example content (a post, a page, a comment and some links).
I’m working on a WordPress MU project now and I had to change the default blog to something more elaborate. So I went and researched a bit what can be done and what is supported. Here’s what I’ve found.
There are a couple of MU plugins that allow you through an admin panel to edit some defaults (blog title, default theme, stuff like that). If you’re into that kind of thing see the New Blog Defaults plugin. But in fact what I wanted was something more along the lines of developing my default blog locally (in a local MU installation) and then deploy to the production site with minimum hassle.
I found another plugin called Blog Templates and with it you can create a template from a blog. This template will be saved in a different database table ‘wp_gp_templates’ and will contain posts, pages, links, post categories and some blog options. You can easily extend it by adding more options to be saved if you need to. You can then upload the template to the production server and it will be applied as a template to new blogs. Pretty cool.
exclude pages plugin
I had a plugin to exclude certain pages from the menu. This was a question of adding an extra option to be saved in the template. *
copying plugin settings
Information about what plugins are active is kept inside the options table and so it can be saved quite easily:
$newoptions[‘active_plugins’] = get_option(‘active_plugins’);
A problem with this is you still need to make sure all the plugins you had locally installed are on the server. Not a big deal but something to keep in mind.
copying widget settings
Widget settings are also kept inside the options table so it’s not a big deal to extend the plugin to also save them (you still need to work out which options to save though). Because normally widgets are registered from plugins you again need to make sure all the plugins you had locally are on the server.
The theme name is saved in the template but you still need to manually make sure all the theme files are on the server, and if not, upload them.
post meta / custom fields
I extended the plugin to clone all of the meta items for a post. This seems to work quite well without any problems. I might work together with the plugin author to include this as an option in the plugin or maybe release the code here separately.
* A problem with this is that because the pages are excluded based on their ID, you need to be sure that the pages will be created with the same ID that is saved to the template (this is a problem if you have created pages and then deleted them because the IDs will not be the first ones).
5 thoughts on “Changing the Default Blog in WordPress MU”
Are you planning on making your updated version of this plugin available to public either here or via plugin author?
I'm interested in your modifired version of this plugin and also some other options. What about the ability to manage multiple wodpress MU installs and automate bulk blog creation with blog template preferrences applied?
I manage a bunch of seperate MU installs and would like the ability to bulk create blogs say 5 at a time each blog though on a seperate MU install.
The most relevant part of it is the functionality that clones the postmeta/custom fields. I’ve sent that to the plugin author and he has integrated it, which is very cool :-)
Take a look here if you’re interested:
This is great. I Googled "wordpress mu new blog clone" and found this on the front page. I was wondering if anyone else out there was doing this. Basically what I was looking for was a way to clone a wordpress blog, duplicate a blog or rewrite what the default content was. I looked at wpmu-functions.php and index-install.php – I DID NOT want to alter core files because in an upgrade it would be overwritten.
Tabard, I'm really happy you blogged about this and provided links. I was worried I'd have to start digging in the trenches!
I found a similar thread, but they were in the database copying tables. I think it was for a specific application, but I thought I'd shine some light on your post for future searchers.
Question on extending Blog Templates, by extending, do you mean manually adding the wanted options / tabels to 'wp_gp_templates'?
Excuse my previous post, I misunderstood what you mean in your post. I went into template_url/tools/theme_options.php change the defaults, then created default for Blog Templates and went crazy. ^_^
Comments are closed.