update_option( $name, $side_ad );
Your issue here is that update_option stores the value in the options table of the site. However you’re on a multisite, and your install contains multiple sites/blogs, each with their own options tables.
As a result, editing a user on blog/site A will not change the option on blog/site B, in the same way that painting a wall green in your house doesn’t make the same wall green in my house. If this wasn’t the case then updating the title of one site would update the title of all sites.
So:
I want to store user specific data
Store it in user meta
I want to store blog specific data
Store it in an option. The user edit screen is not an appropriate place for this option, put it on a settings screen under the settings menu.
I want to store data that affects the entire install regardless of blog/user/site
Use update_site_option
and check first if it’s a multisite using is_multisite()
. Do not store a large quantity of data in this way. Again these kinds of options don’t belong in an edit/update user page. Don’t put the options page under the normal dashboard settings either, put them in the network admin panel