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

Références officielles

Bouton retour en haut de la page