How to add Custom Blog Options to new blog setup form?

Seems like a simple enough requirement, but I’m struggling:

  1. I want to add an option field to the “Add New Site”.
    A simple text option is fine. How do I do this?

  2. I need to save this custom blog option when the site is created.

    I know I can use the ‘wpmu_new_blog’ hook, which passes the $meta variable with supplied options, but I’m wondering if there’s a way to do this all in one step so I don’t have to perform another DB query, or worse yet, override/replace the whole site creation process?

Notes:

I’m using WP 3.3.1 with a MultiSite setup. I’m writing a plugin that lists all the Sites which match the specified custom field value (let’s call it “type”).

Also, I’m an experienced PHP developer but I’m still relatively new to WordPress hacking, so please assume I am not yet intimately familiar with all of the various WP functions and hooks.

3

Joining two answers(*), I’ve done a plugin to add a custom meta option when registering a new site (front and back end) and display its value in a column in the Sites screen.

Multisite Categories

enter image description here
enter image description here

(*) code references

1 – WordPress + Multisite: How to add custom blog options to Add New Site form in Network Admin?, by @dennisg

2 – Multisite: How to add Custom Blog Options to new blog setup form?, by @tbuteler

The add_action('wpmu_new_blog', 'add_new_blog_field'); was merged from the two answers.

I was already using the ID column code in my multisite, and also added the Category column in the plugin.

[update]

Tried to make the Category column sortable, but seems almost unsolvable…

See this question/answer: Filters ‘request’ and ‘parse_query’ not firing in sites.php nor link-manager.php

[update 2]

I’ve reworked the plugin and now the categories are sortable. The first version of the plugin is a Gist now (link updated at the beginning) and the new version stays in GitHub.

Leave a Comment