Title: set_user_setting
Published: April 25, 2014
Last modified: April 28, 2025

---

# set_user_setting( string $name, string $value ): bool|null

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#wp--skip-link--target)

Adds or updates user interface setting.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#description)󠁿

Both `$name` and `$value` can contain only ASCII letters, numbers, hyphens, and 
underscores.

This function has to be used before any output has started as it calls `setcookie()`.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#parameters)󠁿

 `$name`stringrequired

The name of the setting.

`$value`stringrequired

The value for the setting.

## 󠀁[Return](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#return)󠁿

 bool|null True if set successfully, false otherwise.
 Null if the current user 
is not a member of the site.

## 󠀁[Source](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#source)󠁿

    ```php
    function set_user_setting( $name, $value ) {
    	if ( headers_sent() ) {
    		return false;
    	}

    	$all_user_settings          = get_all_user_settings();
    	$all_user_settings[ $name ] = $value;

    	return wp_set_all_user_settings( $all_user_settings );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/option.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/option.php#L1774)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/option.php#L1774-L1783)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#related)󠁿

| Uses | Description | 
| [get_all_user_settings()](https://developer.wordpress.org/reference/functions/get_all_user_settings/)`wp-includes/option.php` |

Retrieves all user interface settings.

  | 
| [wp_set_all_user_settings()](https://developer.wordpress.org/reference/functions/wp_set_all_user_settings/)`wp-includes/option.php` |

Private. Sets all user interface settings.

  |

| Used by | Description | 
| [WP_MS_Users_List_Table::prepare_items()](https://developer.wordpress.org/reference/classes/wp_ms_users_list_table/prepare_items/)`wp-admin/includes/class-wp-ms-users-list-table.php` |  | 
| [WP_MS_Sites_List_Table::prepare_items()](https://developer.wordpress.org/reference/classes/wp_ms_sites_list_table/prepare_items/)`wp-admin/includes/class-wp-ms-sites-list-table.php` |

Prepares the list of sites for display.

  | 
| [WP_Comments_List_Table::prepare_items()](https://developer.wordpress.org/reference/classes/wp_comments_list_table/prepare_items/)`wp-admin/includes/class-wp-comments-list-table.php` |  | 
| [WP_Posts_List_Table::prepare_items()](https://developer.wordpress.org/reference/classes/wp_posts_list_table/prepare_items/)`wp-admin/includes/class-wp-posts-list-table.php` |  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#changelog)󠁿

| Version | Description | 
| [2.8.0](https://developer.wordpress.org/reference/since/2.8.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#user-contributed-notes)󠁿

 1.  [Skip to note 2 content](https://developer.wordpress.org/reference/functions/set_user_setting/?output_format=md#comment-content-72)
 2.   [Drew Jaynes](https://profiles.wordpress.org/drewapicture/)  [  12 years ago  ](https://developer.wordpress.org/reference/functions/set_user_setting/#comment-72)
 3. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_user_setting%2F%23comment-72)
    Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_user_setting%2F%23comment-72)
 4. Override the user setting to always collapse the admin menu for the current user:
 5.     ```php
        /**
         * Re-set user setting to always collapse the admin menu.
         *
         * @see set_user_setting()
         */
        function wpdocs_always_collapse_menu() {
        	if ( 'f' != get_user_setting( 'mfold' ) ) {
        		set_user_setting( 'mfold', 'f' );
        	}
        }
        add_action( 'admin_head', 'wpdocs_always_collapse_menu' );
        ```
    
 6.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_user_setting%2F%3Freplytocom%3D72%23feedback-editor-72)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_user_setting%2F)
before being able to contribute a note or feedback.