delete_option( string $option )
Supprime une option par son nom. Empêche de supprimer les options protégées par WordPress.
Paramètre
$option
(string)requisNom de l'option à supprimer. Aucuns échappements SQL ne sont attendus.
Retourne
(bool) True si l'option a été supprimé, false sinon.
Déclaration et structure de la fonction delete_option()
delete_option()
est déclarée dans le fichier wp-includes/option.php
à la ligne 1179 :
function delete_option( $option ) {
global $wpdb;
if ( is_scalar( $option ) ) {
$option = trim( $option );
}
if ( empty( $option ) ) {
return false;
}
wp_protect_special_option( $option );
// Get the ID, if no ID then return.
$row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) );
if ( is_null( $row ) ) {
return false;
}
/**
* Fires immediately before an option is deleted.
*
* @since 2.9.0
*
* @param string $option Name of the option to delete.
*/
do_action( 'delete_option', $option );
$result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) );
if ( ! wp_installing() ) {
if ( in_array( $row->autoload, wp_autoload_values_to_autoload(), true ) ) {
$alloptions = wp_load_alloptions( true );
if ( is_array( $alloptions ) && isset( $alloptions[ $option ] ) ) {
unset( $alloptions[ $option ] );
wp_cache_set( 'alloptions', $alloptions, 'options' );
}
} else {
wp_cache_delete( $option, 'options' );
}
}
if ( $result ) {
/**
* Fires after a specific option has been deleted.
*
* The dynamic portion of the hook name, `$option`, refers to the option name.
*
* @since 3.0.0
*
* @param string $option Name of the deleted option.
*/
do_action( "delete_option_{$option}", $option );
/**
* Fires after an option has been deleted.
*
* @since 2.9.0
*
* @param string $option Name of the deleted option.
*/
do_action( 'deleted_option', $option );
return true;
}
return false;
}
Fonctions utilisées par delete_option()
wp_installing()
Vérifie ou met Wordpress en mode installation.
wp_cache_set()
Sauvegarde les données dans le cache.
wp_cache_delete()
Supprime les contenus du cache correspondant à la clé et au groupe.
do_action()
Exécute des fonctions attachées à un hook spécifique.
wp_load_alloptions()
Charge et met en cache toutes les options auto-chargées si disponible ou toutes les options.
wp_protect_special_option()
Empêche la suppression des options protégées de WordPress.
Hooks utilisés par delete_option()
delete_option
Se lance juste avant qu'une option soit supprimée.
delete_option_option
Se lance juste après qu'une option spécifique ait été supprimé.
deleted_option
Se lance juste après qu'une option ait été supprimé.
Où est utilisée la fonction delete_option()
dans le CMS WordPress
Exemple
$settingOptions = array( 'plugin_status', 'export_status', 'notifications', 'label_settings' ); // etc
foreach ( $settingOptions as $settingName ) {
delete_option( $settingName );
}
Sources
Codex WordPress : delete_option()
Autres fonctions dans le même fichier : wp-includes/option.php