Le titre du site, l’adresse e-mail de l’administrateur, la structure des permaliens choisie : tous ces réglages globaux, non liés à un article précis, doivent bien être stockés quelque part — c’est le rôle de cette table centrale.
Fonctionnement dans WordPress
Chaque option est une paire clé/valeur dans wp_options, avec un indicateur autoload qui précise si elle doit être chargée automatiquement à chaque requête, une optimisation importante quand le nombre d’options grossit sur un site chargé. Le cœur de WordPress, les thèmes et les extensions y stockent aussi bien des réglages simples que des tableaux sérialisés complexes.
Exemple
update_option( 'ma_cle_reglage', array( 'actif' => true ), false );
$reglage = get_option( 'ma_cle_reglage' );
À ne pas confondre avec
Le transitoire, qui ressemble à une option mais porte une date d’expiration et est pensé pour du cache temporaire, pas pour un réglage permanent ; ou la constante, définie en dur dans wp-config.php et donc non modifiable depuis l’administration, contrairement à une option.
Bon à savoir
Un grand nombre d’options marquées autoload à oui peut ralentir chaque chargement de page, puisque WordPress les charge toutes en une seule requête au démarrage ; c’est un point de vigilance classique lors de l’audit de performance d’un site chargé en extensions.
En Multisite, il existe aussi des options réseau, stockées séparément dans une table dédiée et accessibles via get_site_option() plutôt que get_option(), pour des réglages qui doivent s’appliquer à l’ensemble des sites plutôt qu’à un seul.