update_user_option()
Update user option with global blog capability.
User options are just like user metadata except that they have support for global blog options. If the 'is_global' parameter is false, which it is by default, it will prepend the WordPress table prefix to the option name.
Deletes the user option if $newvalue is empty.
Uses: update_user_meta()
No Hooks.
Return
Int|true|false
. User meta ID if the option didn't exist, true on successful update, false on failure.
Usage
update_user_option( $user_id, $option_name, $newvalue, $is_global );
- $user_id(int) (required)
- User ID.
- $option_name(string) (required)
- User option name.
- $newvalue(mixed) (required)
- User option value.
- $is_global(true|false)
- Whether option name is global or blog specific.
Default: false (blog specific)
Examples
#1 Add option prefix_test_option for user with ID 1
update_user_option( 1, 'test_option', 'my_value' ); // User 1 will have a wp_test_option meta-field with the value my_value // wp_ here is the database prefix
#2 Add option test_option for user with ID 1
update_user_option( 1, 'test_option', 'my_value', true ); // analogue of update_user_meta() - user 1 will have // test_option meta-field with my_value
#3 Hide the admin bar for a user on the front end of the site:
update_user_option( $user_id, 'show_admin_bar_front', false );
When multisite is installed, the $global parameter can be used to set the user option for the whole network, instead of just the current site:
update_user_option( $user_id, 'show_admin_bar_front', false, true );
Notes
- Global. wpdb. $wpdb WordPress database abstraction object.
Changelog
Since 2.0.0 | Introduced. |
update_user_option() update user option code WP 6.7.1
function update_user_option( $user_id, $option_name, $newvalue, $is_global = false ) { global $wpdb; if ( ! $is_global ) { $option_name = $wpdb->get_blog_prefix() . $option_name; } return update_user_meta( $user_id, $option_name, $newvalue ); }