update_option()
Définition : update_option() ajoute ou met à jour une option WordPress selon son nom. Elle sert à enregistrer une préférence persistante d’un plugin ou d’un thème, sans écrire directement une requête SQL.
Terminologie
Terme officiel : update_option()
Autres appellations : Mise à jour d’option
À quoi cela sert
Elle est utile lorsque des réglages doivent survivre aux requêtes et aux redémarrages du serveur. La fonction sérialise les valeurs compatibles lorsque nécessaire et utilise les mécanismes de stockage et de cache de WordPress.
Comment cela fonctionne
Si l’option existe, WordPress compare et traite sa mise à jour ; sinon, une nouvelle option est créée. La valeur de retour false peut aussi signifier qu’aucun changement n’était nécessaire, pas uniquement une erreur.
Dans quel contexte l’utiliser
À utiliser dans une action déjà autorisée, après contrôle des droits, vérification du nonce pertinent et validation de la donnée à enregistrer.
Exemple concret
Une extension modifie un texte de présentation uniquement lorsque l’administrateur a soumis un formulaire valide.
Exemple de code commenté
<?php
// Dans un traitement de formulaire administratif contrôlé.
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( 'Accès refusé.' );
}
// Prérequis : nonce déjà vérifié pour cette action.
if ( isset( $_POST['atoolpha_demo_titre'] ) ) {
$raw = wp_unslash( $_POST['atoolpha_demo_titre'] );
$titre = sanitize_text_field( $raw );
update_option( 'atoolpha_demo_titre', $titre, false );
}
// Exemple partiel : ne constitue pas un endpoint autonome.
Explication pas à pas de l’exemple
Après contrôle de la capacité et de la vérification préalable du nonce, le champ est lu, débarrassé de ses slashes, nettoyé puis enregistré. L’argument false demande d’éviter le chargement automatique de cette option lorsqu’il est pertinent.
Résultat attendu
La préférence atoolpha_demo_titre est mise à jour pour les prochaines requêtes du site si la soumission a été autorisée et validée.
Précautions et limites
Ne jamais coller l’extrait seul dans un point d’entrée public : il ne contient pas toute la vérification CSRF. Le stockage direct n’exonère ni du contrôle des permissions ni de l’échappement lors de l’affichage.
À ne pas confondre
update_option() modifie le stockage ; register_setting() et la Settings API encadrent la soumission standard des formulaires.
Termes associés
- get_option()
- register_setting()
- Settings API
