Using WordPress ‘delete_option()’ PHP function

The delete_option() WordPress PHP function is used to remove an option by its name. This function helps to prevent the removal of protected WordPress options.


Here’s how to use delete_option():


In this case, ‘your_option_name’ is the name of the option you want to delete.


  • $option (string) (Required) – Name of the option to delete. This name should not be SQL-escaped.

More information

See WordPress Developer Resources: delete_option()

Please note that this function is a part of WordPress core and isn’t depreciated. You can find the source code in the wp-includes/option.php file.


Deleting a Single Option

Say you have an option called ‘my_option’ in your options table, and you want to delete it. The code would look like this:


This code tells WordPress to delete the ‘my_option’ from the options table within your MySQL database.

Removing Multiple Options

If you want to delete multiple options at once, such as when deactivating a plugin, you can use the following code:

$settingOptions = array('plugin_status', 'export_status', 'notifications', 'label_settings');

foreach ($settingOptions as $settingName) {

In this example, we first define an array of the options we want to delete. We then loop through each of these options, calling the delete_option() function on each one.

Deleting a Theme Option

If you want to remove a theme option, you can do so with the following code:


This will delete the ‘theme_mods_twentytwenty’ option, which is used by the Twenty Twenty theme to store theme modifications.

Removing a Transient Option

Transient options are temporary options that are automatically deleted after a certain period of time. Here’s how you can manually delete a transient option:


This will delete the timeout for the ‘theme_mods_twentytwenty’ transient option.

Deleting an Option on Plugin Deactivation

You can delete an option when a plugin is deactivated by using the following code in your plugin file:

register_deactivation_hook(__FILE__, 'remove_my_option');

function remove_my_option() {

This will remove the ‘my_plugin_option’ option from the database when the plugin is deactivated. The register_deactivation_hook() function is used to call the remove_my_option() function when the plugin is deactivated.