Function and usage of delete_site_option() in wordpress


Answers ( 1 )


    The delete_site_option() function in WordPress is used to remove an option by name for the current network. Here's a detailed explanation of this function and its usage:

    Function Signature:

    delete_site_option( string $option ): bool

    Function Overview:

    • Purpose: The primary function of delete_site_option() is to delete a specific option from the options table in a WordPress multisite network. This is useful for network-wide settings in a multisite environment.

    • Context of Use: It's specifically designed for multisite networks in WordPress, where you have multiple sites under a single WordPress installation. This function operates at the network level rather than the individual site level.


    • $option (string) [required]:
      • The name of the option you want to delete.
      • It should be a string and is expected not to be SQL-escaped, as WordPress handles the escaping.
      • This parameter specifies which network-wide option you want to remove.

    Return Value:

    • bool:
      • The function returns true if the option was successfully deleted.
      • Returns false if the deletion failed or if the option does not exist.


    • The delete_site_option() function is a part of the WordPress Options API, which provides a set of functions for storing, retrieving, and updating data.
    • It's important to note that this function affects options on the entire network, not just a single site within the network.
    • If you need to delete an option that is not network-wide (i.e., specific to a single site), you should use delete_option() instead.
    • For similar functionality at the network level, you can also look into delete_network_option(), which is closely related but might have different implications depending on the WordPress version and setup.

    Sample Usage:

    Here's a basic example of how delete_site_option() might be used in a WordPress multisite setup:

    // Example: Deleting a network-wide option named 'my_network_option'
    $option_name = 'my_network_option';
    // Using delete_site_option to remove the option
    if ( delete_site_option( $option_name ) ) {
        echo 'Option deleted successfully.';
    } else {
        echo 'Failed to delete the option, or option does not exist.';

    In this example, delete_site_option() attempts to delete an option named 'my_network_option'. If the function succeeds, it will output 'Option deleted successfully.'; otherwise, it will indicate failure.

    Best Practices:

    • Always check if the option exists before trying to delete it.
    • Be cautious when deleting options, as this cannot be undone and might affect the functionality of your network if the option is critical.
    • Use this function only when you are sure that the option is no longer needed network-wide.

Leave an answer