Updates the value of an option that was already added.


update_option( string $option, mixed $value, string|bool $autoload = null )


You do not need to serialize values. If the value needs to be serialized, then it will be serialized before it is inserted into the database. Remember, resources cannot be serialized or added as an option.

If the option does not exist, it will be created.

This function is designed to work with or without a logged-in user. In terms of security, plugin developers should check the current user’s capabilities before updating any options.



(string) (Required) Option name. Expected to not be SQL-escaped.


(mixed) (Required) Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.


(string|bool) (Optional) Whether to load the option when WordPress starts up. For existing options, $autoload can only be updated using update_option() if $value is also changed. Accepts 'yes'|true to enable or 'no'|false to disable. For non-existent options, the default value is 'yes'.

Default value: null


(bool) False if value was not updated and true if value was updated.


File: wp-includes/option.php



Version Description
4.2.0 The $autoload parameter was added.
1.0.0 Introduced.
Scroll to Top