WordPress : Comment rendre le champ de texte Titan Framework obligatoire

Publié par Jean-Michel le

J’utilise Titan Framework avec un plugin personnalisé que j’ai écrit. Il y a une page de paramètres qui a un onglet et dessus il y a un champ de texte :

array(
    'name'    => 'Slug',
    'id'      => 'my_slug',
    'type'    => 'text',
    'default' => 'my-slug',
    'desc'    => 'The slug.',
),

Ce champ de texte permet à l’utilisateur de spécifier un slug pour l’interface utilisateur frontale du plugin. Le problème est qu’un utilisateur peut vider ce champ, puis enregistrer les paramètres, ce qui entraîne une erreur.

Je comprends que je peux piéger cette condition dans le code PHP lorsque cette option de réglage est utilisée. Je comprends également que cela pourrait être fait en utilisant jQuery pour appliquer une valeur spécifiée, mais il semblerait qu’il devrait y avoir une solution de meilleure pratique.

Quelqu’un peut-il me dire la bonne façon de s’assurer que ce champ a une valeur?

Solution n°1 trouvée

L’utilisateur peut certainement l’enregistrer comme vide et oui, vous pouvez empêcher cela avec JS. Mais parce qu’il n’y a pas de filtre « pre save », une façon d’aborder cela est d’utiliser la méthode que vous avez mentionnée, ajouter un placeholderattribut au champ pour donner l’illusion d’une valeur lorsqu’il est vide (c’est juste pour une meilleure expérience utilisateur).

array(
    'name'    => 'Slug',
    'id'      => 'my_slug',
    'type'    => 'text',
    'default' => 'my-slug',
    'desc'    => 'The slug.',
    'placeholder' => 'post',
),

Ensuite, vérifiez emptylors de l’obtention de la valeur.

$slug = $titan->getOption( 'my_slug' );
if ( empty( $slug ) ) {
    $slug = 'post';
}

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 *