I am trying to understand what the following line from wp-signup.php does:

$active_signup = get_site_option( 'registration' );

I can see from the following documentation: http://codex.wordpress.org/WPMU_Functions/get_site_option that this will return the value of the site option 'registration'.

But how do I find where the current value of the option 'registration' in the SQL database? Or in general, how do I find the association between a key and the data in the database?


Note that the function get_site_option() works a bit differently from get_option() on its own. On WordPress Multisite (ie, with Network Mode enabled), there are two different kinds of options:

  • site-specific options, which are stored in the individual options tables for each blog (wp_options, wp_5_options, etc). These options are accessed with get_option(), update_option(), etc. Note that this assumes that the current blog - the one set in $wpdb->blog_id - is the blog from which you want to get the option. You can use get_blog_option() etc to get options from the non-current blog.
  • network-wide options, which are shared between all sites on a network, and are stored in wp_sitemeta. These options are accessed with get_site_option(), update_site_option(), etc.

(Note that the 'site' terminology is a bit confusing: before WordPress 3.0 and the merge of WPMU, what we now call 'sites' were called 'blogs', and what we now call 'the network' (ie, the entire installation) was called 'the site'. That's why you use x_site_meta() to get networkwide stuff.)

If you are running Multisite, then registration is stored in wp_sitemeta. Thus the use of get_site_option().

If you are not running Multisite, there is no wp_sitemeta table, and the _site_option() functions simply fall back on _option(), so that get_site_option( 'registration' ) will return the value of get_option( 'registration' ).

For more on the options functions, see wp-includes/options.php https://core.trac.wordpress.org/browser/trunk/wp-includes/option.php (the option.php file was introduced recently into trunk; on a distribution version, look in wp-includes/functions.php).

  • Thank you for differentiating between get_option and get_site_option. There is precious little documentation on this that I could find. I am going to write a simple plugin to experiment with this.
    – Bob Jones
    Jul 24 '14 at 17:52

You'll find every options in the table wp_options

Regarding the association between a key and the data, if you are referring to the "Custom fields", you must use the get_post_meta functions.

In the db you'll find this keys in the table wp_postmeta. To recover a key, you must know the post_id, of course!


registration stores whether or not the site is allowing new users to register. It seems like it will either be none, blog, user, or all. Some of those seem to be wpmu specific, so they may not apply to you, depending on your usage case. I think registration is set somewhere in settings, in case you need to change it.

  • Yes that is also my understanding, but I was trying to find my way through the PHP code to the SQL database (where does PHP calls the SQL data, and how). Unfortunately I cannot find documentation, and the code is not obvious to me. Mar 29 '12 at 13:54
  • Can you clarify what you're asking then?
    – mor7ifer
    Mar 29 '12 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.