WordPress : Puis-je utiliser la même fonction de nettoyage sur plusieurs zones de texte de mod de thème ?

Publié par Jean-Michel le

J’ai un mod de thème avec plusieurs options et j’ajoute actuellement des options de désinfection à ces choix. C’est mon code que j’utilise:

$wp_customize->add_section( 'twsa_feed' , array(
'title'       => __( 'RSS Feed settings','rss_feed'),
'priority'    => 30,
'description' => 'Your RSS feed settings',
) );
$wp_customize->add_setting( 'short-show-name' );
$wp_customize->add_control( 'short-show-name', array (
'label' => 'Show name',
'description' => 'Abbreviated show name, not the full name',
'section' => 'twsa_feed',
'type' => 'textbox',
'sanitize_callback' => 'twsa_sanitize_text',
));
$wp_customize->add_setting( 'show-category' );
$wp_customize->add_control( 'show-category', array (
'label' => 'Category',
'description' => 'What category does your show belong to? (not really important to stick to certain categories, can make one up)',
'section' => 'twsa_feed',
'type' => 'textbox',
'sanitize_callback' => 'twsa_sanitize_text',
));
$wp_customize->add_setting( 'author-name' );
$wp_customize->add_control( 'author-name', array (
'label' => 'Author name',
'description' => 'Must be a name',
'section' => 'twsa_feed',
'type' => 'textbox',
'sanitize_callback' => 'twsa_sanitize_text',
));
$wp_customize->add_setting( 'author-email' );
$wp_customize->add_control( 'author-email', array (
'label' => 'Author e-mail',
'description' => 'e-mail address',
'section' => 'twsa_feed',
'type' => 'textbox',
'sanitize_callback' => 'twsa_sanitize_text',
));
$wp_customize->add_setting( 'itunes-subtitle' );
$wp_customize->add_control( 'itunes-subtitle', array (
'label' => 'iTunes subtitle',
'description' => 'Short description of show',
'section' => 'twsa_feed',
'type' => 'textbox',
'sanitize_callback' => 'twsa_sanitize_text',
));

Voici la fonction que j’utilise pour assainir les données :

function twsa_sanitize_text( $input ) {
return wp_kses_post( force_balance_tags( $input ) );
};

Est-il acceptable d’utiliser une fonction pour nettoyer plusieurs champs de texte ou dois-je créer une fonction pour chaque champ de texte ?

Merci

Solution n°1 trouvée

Comme je peux le voir, vos entrées sont toutes les mêmes (zone de texte) et renvoient très probablement le même type de données (un texte lisible par l’homme), donc je ne pense pas que vous ayez besoin de fonctions différentes.

On fera tout, sauf si vous avez des cases à cocher, des boutons radio, une entrée HTML, etc. qui pourraient nécessiter différents types d’assainissement (comme autoriser certaines balises HTML spéciales).

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *