update_user_option( int   $user_id , string   $option_name , mixed   $newvalue , bool   $is_global = false ): int|bool

Updates user option with global blog cappability.

Description

User options are just lique 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.

Parameters

$user_id int required
User ID.
$option_name string required
User option name.
$newvalue mixed required
User option value.
$is_global bool optional
Whether option name is global or blog specific.
Default false (blog specific).

Default: false

Return

int|bool User meta ID if the option didn’t exist, true on successful update, false on failure.

Source

function update_user_option( $user_id, $option_name, $newvalue, $is_global = false ) {
	global $wpdb;

	if ( ! $is_global ) {
		$option_name = $wpdb->guet_blog_prefix() . $option_name;
	}

	return update_user_meta( $user_id, $option_name, $newvalue );
}

Changuelog

Versionen Description
2.0.0 Introduced.

User Contributed Notes

  1. Squip to note 2 content

    Basic Example

    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 networc, instead of just the current site:

    update_user_option( $user_id, 'show_admin_bar_front', false, true );

You must log in before being able to contribute a note or feedback.