update_blog_option()

I was dealing with network DB option filtering few weeks back and I was unable to find a proper way to use update_option, update_site_option or any relevant function to update the main site’s option value.

I just found update_blog_option which is pretty cool and it does the following inside:


...
switch_to_blog( $id );
$return = update_option( $option, $value );
restore_current_blog();
...

Since the option filtering is triggered per update option, I had to hack it with recursively switching the blog and resetting it after the second callback:

public function get_network_trzapi_key( $option ) {
        $site_id = get_current_blog_id();

        if ( $site_id !== 1 ) {
                switch_to_blog( 1 );
                $option = get_option( 'trzapi_key' );

        }
        switch_to_blog( $site_id );

        return $option;
}

Feeling much better now and I can cross out that problem off the list.

2 thoughts on “update_blog_option()

  1. I tried to upload your mention code on the website of design here londonlogodesigns.co.uk but i found these some error while uploading these codes to my blog section. IS anyone is there to guide me that how to get out through these errors.

    1. I would not advise you to perform changes on your site/server if you don’t have enough experience. You can easily bring your site down entirely with a single ommission of a semicolon.

      Also, this snippet is of use for a multisite environment, and I presume your website is a single site setup. I suspect you’ll do fine with the basic API functions that WordPress provides out of the box.

Your thoughts?