shortcode_atts()

Définition : shortcode_atts() combine les valeurs par défaut d’un shortcode WordPress avec les attributs fournis dans le contenu. Elle facilite la gestion de paramètres facultatifs avant leur validation et leur utilisation dans le rendu.

Terminologie

Terme officiel : shortcode_atts()

Autres appellations : Attributs de shortcode

À quoi cela sert

Elle permet au développeur d’imposer des noms d’attributs attendus et d’obtenir des valeurs de secours fiables. Les attributs non prévus ne sont pas repris dans le tableau retourné, ce qui simplifie le contrat d’un composant.

Comment cela fonctionne

La fonction reçoit un tableau de valeurs par défaut, les attributs entrants et éventuellement le nom du shortcode pour un filtre dédié. Elle ne valide pas automatiquement les types et ne protège pas la sortie HTML.

Dans quel contexte l’utiliser

À utiliser dans un callback de shortcode lorsqu’un composant comporte plusieurs réglages facultatifs : titre, taille ou variante visuelle.

Exemple concret

Un encadré d’information doit prendre un titre par défaut et limiter sa variante aux options info et attention.

Exemple de code commenté

<?php
add_shortcode( 'atoolpha_note', function ( $atts ) {
    $opts = shortcode_atts( array(
        'titre' => 'Information',
        'style' => 'info',
    ), $atts, 'atoolpha_note' );
    $style = in_array( $opts['style'], array( 'info', 'attention' ), true )
        ? $opts['style'] : 'info';
    return '<div class="atoolpha-' . esc_attr( $style ) . '">' .
        esc_html( $opts['titre'] ) . '</div>';
} );

Explication pas à pas de l’exemple

Le shortcode reçoit deux valeurs connues. La liste blanche limite style à deux chaînes. esc_attr() protège l’attribut class et esc_html() protège le titre. Un troisième attribut non déclaré n’est pas utilisé.

Résultat attendu

[atoolpha_note titre="À lire" style="attention"] rend un encadré avec le titre À lire et une classe adaptée.

Précautions et limites

La fusion avec les défauts n’est pas une opération de sécurité. Vérifier les types, limites, URL et capacités indépendamment des valeurs retournées.

À ne pas confondre

shortcode_atts() établit des défauts ; sanitize_text_field() nettoie une chaîne et esc_html() protège son affichage HTML.

Termes associés

  • Shortcode API
  • add_shortcode()

Références officielles

Bouton retour en haut de la page