do_settings_sections()
Définition : do_settings_sections() affiche les sections de réglages WordPress enregistrées pour une page donnée. Elle appelle leurs callbacks et produit les champs associés, à leur emplacement prévu dans un formulaire administratif.
Terminologie
Terme officiel : do_settings_sections()
Autres appellations : Affichage des sections
À quoi cela sert
Cette fonction rend l’interface déclarée par add_settings_section() et add_settings_field(). Elle évite de réécrire à la main l’ensemble des titres et tableaux de champs après leur enregistrement.
Comment cela fonctionne
Le paramètre de page doit correspondre à la valeur utilisée lors de la déclaration des sections et champs. La fonction imprime directement son rendu ; elle n’enregistre pas les options et ne crée pas le formulaire principal.
Dans quel contexte l’utiliser
À utiliser dans la partie visible d’un écran de paramètres, à l’intérieur d’un formulaire complet muni des champs cachés nécessaires.
Exemple concret
Un plugin regroupe les options d’apparence et les affiche sous sa propre page de réglages.
Exemple de code commenté
<?php
// Dans le callback d’une page déjà enregistrée.
if ( current_user_can( 'manage_options' ) ) {
echo '<div class="wrap"><h1>Configuration</h1>';
echo '<form action="options.php" method="post">';
settings_fields( 'atoolpha_demo' );
do_settings_sections( 'atoolpha-demo-page' );
submit_button();
echo '</form></div>';
}
// Le même slug est utilisé lors de add_settings_section().
Explication pas à pas de l’exemple
Le slug atoolpha-demo-page détermine quelles sections et quels champs seront imprimés. settings_fields() injecte les éléments de contrôle du groupe ; les fonctions de déclaration doivent être appelées à admin_init.
Résultat attendu
Les réglages de la page apparaissent par section lorsque celles-ci ont été correctement déclarées.
Précautions et limites
Cette fonction affiche du HTML ; ne pas l’utiliser pour lire une option ni l’appeler sans vérifier l’accès à la page. Elle n’exonère pas d’échapper les valeurs dans chaque champ.
À ne pas confondre
do_settings_sections() rend les sections, tandis que settings_fields() génère les champs hidden d’un formulaire Settings API.
Termes associés
- add_settings_section()
- add_settings_field()
- settings_fields()
